Generating belts

- Added builder transform for registering stress config values for kinetic blocks
- Created a blockstate generator for belt blocks
- Added belts to registrate
This commit is contained in:
simibubi 2020-05-19 15:25:21 +02:00
parent ff1f7bd207
commit aebbec5ffc
66 changed files with 1287 additions and 611 deletions

View file

@ -10,6 +10,7 @@ a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets\create\blockstates\andesite_bric
96b5284693da168ab8e0809d86515b5f1a7e763f assets\create\blockstates\andesite_cobblestone_stairs.json 96b5284693da168ab8e0809d86515b5f1a7e763f assets\create\blockstates\andesite_cobblestone_stairs.json
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets\create\blockstates\andesite_cobblestone_wall.json 82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets\create\blockstates\andesite_cobblestone_wall.json
9210df936a886dc4727deec204f06359dd1f14e9 assets\create\blockstates\andesite_pillar.json 9210df936a886dc4727deec204f06359dd1f14e9 assets\create\blockstates\andesite_pillar.json
96a4fae5883eda130f8ec1a57d34534f6d0793c4 assets\create\blockstates\belt.json
cf9045eb16e5299a1d917c4cb536289f49411276 assets\create\blockstates\birch_window.json cf9045eb16e5299a1d917c4cb536289f49411276 assets\create\blockstates\birch_window.json
94a1a91403eb4b035fec48071e7fcae57a8a6abd assets\create\blockstates\birch_window_pane.json 94a1a91403eb4b035fec48071e7fcae57a8a6abd assets\create\blockstates\birch_window_pane.json
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets\create\blockstates\brass_block.json 8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets\create\blockstates\brass_block.json
@ -24,7 +25,7 @@ cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets\create\blockstates\chiseled_scor
f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets\create\blockstates\copper_block.json f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets\create\blockstates\copper_block.json
3355a852cdc717e257ca19b3db836068964733e3 assets\create\blockstates\copper_ore.json 3355a852cdc717e257ca19b3db836068964733e3 assets\create\blockstates\copper_ore.json
dc76bca1fdd41c8e6ada27fd59a2b73d7adc9596 assets\create\blockstates\copper_shingles.json dc76bca1fdd41c8e6ada27fd59a2b73d7adc9596 assets\create\blockstates\copper_shingles.json
03349490d40b9e354c71f9c8b2f8c2873ddea01f assets\create\blockstates\creative_motor.json f0031f5e970b3d5695472ed384950b8631b015ed assets\create\blockstates\creative_motor.json
1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets\create\blockstates\dark_oak_window.json 1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets\create\blockstates\dark_oak_window.json
50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets\create\blockstates\dark_oak_window_pane.json 50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets\create\blockstates\dark_oak_window_pane.json
21e435ad3baf69970446b0acd3db0d6d02dc9fcb assets\create\blockstates\dark_scoria.json 21e435ad3baf69970446b0acd3db0d6d02dc9fcb assets\create\blockstates\dark_scoria.json
@ -256,8 +257,8 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim
7e2476ffff93d0eedee5314e5692fcbf5692bffc assets\create\blockstates\weathered_limestone_pillar.json 7e2476ffff93d0eedee5314e5692fcbf5692bffc assets\create\blockstates\weathered_limestone_pillar.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
8ae19fa33cb60bde40f4d00e77c15fcc4fab72ea assets\create\lang\en_ud.json d013d73098481a23a125ddddae232fe74a2c951d assets\create\lang\en_ud.json
b152dfe5a4402988dc53481e0b867ba108630856 assets\create\lang\en_us.json ebefb80bc3f6e70ee7ba6ed20c614b10c9187a3b assets\create\lang\en_us.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
@ -1077,6 +1078,7 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data\create\loot_tables\blocks\andesite
36d38c085d8e522fe15f0ef9bc64363e163f3de7 data\create\loot_tables\blocks\andesite_cobblestone_wall.json 36d38c085d8e522fe15f0ef9bc64363e163f3de7 data\create\loot_tables\blocks\andesite_cobblestone_wall.json
6908f62c809ea2105bc92765d84d5655197346ab data\create\loot_tables\blocks\andesite_pillar.json 6908f62c809ea2105bc92765d84d5655197346ab data\create\loot_tables\blocks\andesite_pillar.json
14bf1764b9313893b6a6f57094f9506ac9fa71a8 data\create\loot_tables\blocks\basin.json 14bf1764b9313893b6a6f57094f9506ac9fa71a8 data\create\loot_tables\blocks\basin.json
c7f81e30c31837a287d6d6040cdb02c7dec11441 data\create\loot_tables\blocks\belt.json
d412419824ca0938d6047169b3f97491363c3519 data\create\loot_tables\blocks\belt_funnel.json d412419824ca0938d6047169b3f97491363c3519 data\create\loot_tables\blocks\belt_funnel.json
f2acadb49cac3aa6347cae606536cbbde89f0a5f data\create\loot_tables\blocks\belt_tunnel.json f2acadb49cac3aa6347cae606536cbbde89f0a5f data\create\loot_tables\blocks\belt_tunnel.json
1818b0b62c1e2ad8b030638a59fd7132a4b7bd0a data\create\loot_tables\blocks\birch_window.json 1818b0b62c1e2ad8b030638a59fd7132a4b7bd0a data\create\loot_tables\blocks\birch_window.json

View file

@ -0,0 +1,516 @@
{
"variants": {
"casing=false,facing=north,part=start,slope=horizontal": {
"model": "create:block/belt/horizontal_start",
"y": 180
},
"casing=true,facing=north,part=start,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_start",
"y": 180
},
"casing=false,facing=south,part=start,slope=horizontal": {
"model": "create:block/belt/horizontal_start"
},
"casing=true,facing=south,part=start,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_start"
},
"casing=false,facing=west,part=start,slope=horizontal": {
"model": "create:block/belt/horizontal_start",
"y": 90
},
"casing=true,facing=west,part=start,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_start",
"y": 90
},
"casing=false,facing=east,part=start,slope=horizontal": {
"model": "create:block/belt/horizontal_start",
"y": 270
},
"casing=true,facing=east,part=start,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_start",
"y": 270
},
"casing=false,facing=north,part=middle,slope=horizontal": {
"model": "create:block/belt/horizontal_middle",
"y": 180
},
"casing=true,facing=north,part=middle,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_middle",
"y": 180
},
"casing=false,facing=south,part=middle,slope=horizontal": {
"model": "create:block/belt/horizontal_middle"
},
"casing=true,facing=south,part=middle,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_middle"
},
"casing=false,facing=west,part=middle,slope=horizontal": {
"model": "create:block/belt/horizontal_middle",
"y": 90
},
"casing=true,facing=west,part=middle,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_middle",
"y": 90
},
"casing=false,facing=east,part=middle,slope=horizontal": {
"model": "create:block/belt/horizontal_middle",
"y": 270
},
"casing=true,facing=east,part=middle,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_middle",
"y": 270
},
"casing=false,facing=north,part=end,slope=horizontal": {
"model": "create:block/belt/horizontal_end",
"y": 180
},
"casing=true,facing=north,part=end,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_end",
"y": 180
},
"casing=false,facing=south,part=end,slope=horizontal": {
"model": "create:block/belt/horizontal_end"
},
"casing=true,facing=south,part=end,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_end"
},
"casing=false,facing=west,part=end,slope=horizontal": {
"model": "create:block/belt/horizontal_end",
"y": 90
},
"casing=true,facing=west,part=end,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_end",
"y": 90
},
"casing=false,facing=east,part=end,slope=horizontal": {
"model": "create:block/belt/horizontal_end",
"y": 270
},
"casing=true,facing=east,part=end,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_end",
"y": 270
},
"casing=false,facing=north,part=pulley,slope=horizontal": {
"model": "create:block/belt/horizontal_middle",
"y": 180
},
"casing=true,facing=north,part=pulley,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_pulley",
"y": 180
},
"casing=false,facing=south,part=pulley,slope=horizontal": {
"model": "create:block/belt/horizontal_middle"
},
"casing=true,facing=south,part=pulley,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_pulley"
},
"casing=false,facing=west,part=pulley,slope=horizontal": {
"model": "create:block/belt/horizontal_middle",
"y": 90
},
"casing=true,facing=west,part=pulley,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_pulley",
"y": 90
},
"casing=false,facing=east,part=pulley,slope=horizontal": {
"model": "create:block/belt/horizontal_middle",
"y": 270
},
"casing=true,facing=east,part=pulley,slope=horizontal": {
"model": "create:block/belt_casing/horizontal_pulley",
"y": 270
},
"casing=false,facing=north,part=start,slope=upward": {
"model": "create:block/belt/upward_start",
"y": 180
},
"casing=true,facing=north,part=start,slope=upward": {
"model": "create:block/belt_casing/diagonal_end"
},
"casing=false,facing=south,part=start,slope=upward": {
"model": "create:block/belt/upward_start"
},
"casing=true,facing=south,part=start,slope=upward": {
"model": "create:block/belt_casing/diagonal_start",
"y": 180
},
"casing=false,facing=west,part=start,slope=upward": {
"model": "create:block/belt/upward_start",
"y": 90
},
"casing=true,facing=west,part=start,slope=upward": {
"model": "create:block/belt_casing/diagonal_start",
"y": 270
},
"casing=false,facing=east,part=start,slope=upward": {
"model": "create:block/belt/upward_start",
"y": 270
},
"casing=true,facing=east,part=start,slope=upward": {
"model": "create:block/belt_casing/diagonal_end",
"y": 90
},
"casing=false,facing=north,part=middle,slope=upward": {
"model": "create:block/belt/upward_middle",
"y": 180
},
"casing=true,facing=north,part=middle,slope=upward": {
"model": "create:block/belt_casing/diagonal_middle"
},
"casing=false,facing=south,part=middle,slope=upward": {
"model": "create:block/belt/upward_middle"
},
"casing=true,facing=south,part=middle,slope=upward": {
"model": "create:block/belt_casing/diagonal_middle",
"y": 180
},
"casing=false,facing=west,part=middle,slope=upward": {
"model": "create:block/belt/upward_middle",
"y": 90
},
"casing=true,facing=west,part=middle,slope=upward": {
"model": "create:block/belt_casing/diagonal_middle",
"y": 270
},
"casing=false,facing=east,part=middle,slope=upward": {
"model": "create:block/belt/upward_middle",
"y": 270
},
"casing=true,facing=east,part=middle,slope=upward": {
"model": "create:block/belt_casing/diagonal_middle",
"y": 90
},
"casing=false,facing=north,part=end,slope=upward": {
"model": "create:block/belt/upward_end",
"y": 180
},
"casing=true,facing=north,part=end,slope=upward": {
"model": "create:block/belt_casing/diagonal_start"
},
"casing=false,facing=south,part=end,slope=upward": {
"model": "create:block/belt/upward_end"
},
"casing=true,facing=south,part=end,slope=upward": {
"model": "create:block/belt_casing/diagonal_end",
"y": 180
},
"casing=false,facing=west,part=end,slope=upward": {
"model": "create:block/belt/upward_end",
"y": 90
},
"casing=true,facing=west,part=end,slope=upward": {
"model": "create:block/belt_casing/diagonal_end",
"y": 270
},
"casing=false,facing=east,part=end,slope=upward": {
"model": "create:block/belt/upward_end",
"y": 270
},
"casing=true,facing=east,part=end,slope=upward": {
"model": "create:block/belt_casing/diagonal_start",
"y": 90
},
"casing=false,facing=north,part=pulley,slope=upward": {
"model": "create:block/belt/upward_middle",
"y": 180
},
"casing=true,facing=north,part=pulley,slope=upward": {
"model": "create:block/belt_casing/diagonal_pulley"
},
"casing=false,facing=south,part=pulley,slope=upward": {
"model": "create:block/belt/upward_middle"
},
"casing=true,facing=south,part=pulley,slope=upward": {
"model": "create:block/belt_casing/diagonal_pulley",
"y": 180
},
"casing=false,facing=west,part=pulley,slope=upward": {
"model": "create:block/belt/upward_middle",
"y": 90
},
"casing=true,facing=west,part=pulley,slope=upward": {
"model": "create:block/belt_casing/diagonal_pulley",
"y": 270
},
"casing=false,facing=east,part=pulley,slope=upward": {
"model": "create:block/belt/upward_middle",
"y": 270
},
"casing=true,facing=east,part=pulley,slope=upward": {
"model": "create:block/belt_casing/diagonal_pulley",
"y": 90
},
"casing=false,facing=north,part=start,slope=downward": {
"model": "create:block/belt/downward_start",
"y": 180
},
"casing=true,facing=north,part=start,slope=downward": {
"model": "create:block/belt_casing/diagonal_end",
"y": 180
},
"casing=false,facing=south,part=start,slope=downward": {
"model": "create:block/belt/downward_start"
},
"casing=true,facing=south,part=start,slope=downward": {
"model": "create:block/belt_casing/diagonal_start"
},
"casing=false,facing=west,part=start,slope=downward": {
"model": "create:block/belt/downward_start",
"y": 90
},
"casing=true,facing=west,part=start,slope=downward": {
"model": "create:block/belt_casing/diagonal_start",
"y": 90
},
"casing=false,facing=east,part=start,slope=downward": {
"model": "create:block/belt/downward_start",
"y": 270
},
"casing=true,facing=east,part=start,slope=downward": {
"model": "create:block/belt_casing/diagonal_end",
"y": 270
},
"casing=false,facing=north,part=middle,slope=downward": {
"model": "create:block/belt/downward_middle",
"y": 180
},
"casing=true,facing=north,part=middle,slope=downward": {
"model": "create:block/belt_casing/diagonal_middle",
"y": 180
},
"casing=false,facing=south,part=middle,slope=downward": {
"model": "create:block/belt/downward_middle"
},
"casing=true,facing=south,part=middle,slope=downward": {
"model": "create:block/belt_casing/diagonal_middle"
},
"casing=false,facing=west,part=middle,slope=downward": {
"model": "create:block/belt/downward_middle",
"y": 90
},
"casing=true,facing=west,part=middle,slope=downward": {
"model": "create:block/belt_casing/diagonal_middle",
"y": 90
},
"casing=false,facing=east,part=middle,slope=downward": {
"model": "create:block/belt/downward_middle",
"y": 270
},
"casing=true,facing=east,part=middle,slope=downward": {
"model": "create:block/belt_casing/diagonal_middle",
"y": 270
},
"casing=false,facing=north,part=end,slope=downward": {
"model": "create:block/belt/downward_end",
"y": 180
},
"casing=true,facing=north,part=end,slope=downward": {
"model": "create:block/belt_casing/diagonal_start",
"y": 180
},
"casing=false,facing=south,part=end,slope=downward": {
"model": "create:block/belt/downward_end"
},
"casing=true,facing=south,part=end,slope=downward": {
"model": "create:block/belt_casing/diagonal_end"
},
"casing=false,facing=west,part=end,slope=downward": {
"model": "create:block/belt/downward_end",
"y": 90
},
"casing=true,facing=west,part=end,slope=downward": {
"model": "create:block/belt_casing/diagonal_end",
"y": 90
},
"casing=false,facing=east,part=end,slope=downward": {
"model": "create:block/belt/downward_end",
"y": 270
},
"casing=true,facing=east,part=end,slope=downward": {
"model": "create:block/belt_casing/diagonal_start",
"y": 270
},
"casing=false,facing=north,part=pulley,slope=downward": {
"model": "create:block/belt/downward_middle",
"y": 180
},
"casing=true,facing=north,part=pulley,slope=downward": {
"model": "create:block/belt_casing/diagonal_pulley",
"y": 180
},
"casing=false,facing=south,part=pulley,slope=downward": {
"model": "create:block/belt/downward_middle"
},
"casing=true,facing=south,part=pulley,slope=downward": {
"model": "create:block/belt_casing/diagonal_pulley"
},
"casing=false,facing=west,part=pulley,slope=downward": {
"model": "create:block/belt/downward_middle",
"y": 90
},
"casing=true,facing=west,part=pulley,slope=downward": {
"model": "create:block/belt_casing/diagonal_pulley",
"y": 90
},
"casing=false,facing=east,part=pulley,slope=downward": {
"model": "create:block/belt/downward_middle",
"y": 270
},
"casing=true,facing=east,part=pulley,slope=downward": {
"model": "create:block/belt_casing/diagonal_pulley",
"y": 270
},
"casing=false,facing=north,part=start,slope=vertical": {
"model": "create:block/belt/horizontal_end",
"x": 90,
"y": 180
},
"casing=true,facing=north,part=start,slope=vertical": {
"model": "create:block/belt_casing/vertical_start",
"x": 90,
"y": 180
},
"casing=false,facing=south,part=start,slope=vertical": {
"model": "create:block/belt/horizontal_start",
"x": 90
},
"casing=true,facing=south,part=start,slope=vertical": {
"model": "create:block/belt_casing/vertical_start",
"x": 90
},
"casing=false,facing=west,part=start,slope=vertical": {
"model": "create:block/belt/horizontal_end",
"x": 90,
"y": 90
},
"casing=true,facing=west,part=start,slope=vertical": {
"model": "create:block/belt_casing/vertical_start",
"x": 90,
"y": 90
},
"casing=false,facing=east,part=start,slope=vertical": {
"model": "create:block/belt/horizontal_start",
"x": 90,
"y": 270
},
"casing=true,facing=east,part=start,slope=vertical": {
"model": "create:block/belt_casing/vertical_start",
"x": 90,
"y": 270
},
"casing=false,facing=north,part=middle,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90,
"y": 180
},
"casing=true,facing=north,part=middle,slope=vertical": {
"model": "create:block/belt_casing/vertical_middle",
"x": 90,
"y": 180
},
"casing=false,facing=south,part=middle,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90
},
"casing=true,facing=south,part=middle,slope=vertical": {
"model": "create:block/belt_casing/vertical_middle",
"x": 90
},
"casing=false,facing=west,part=middle,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90,
"y": 90
},
"casing=true,facing=west,part=middle,slope=vertical": {
"model": "create:block/belt_casing/vertical_middle",
"x": 90,
"y": 90
},
"casing=false,facing=east,part=middle,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90,
"y": 270
},
"casing=true,facing=east,part=middle,slope=vertical": {
"model": "create:block/belt_casing/vertical_middle",
"x": 90,
"y": 270
},
"casing=false,facing=north,part=end,slope=vertical": {
"model": "create:block/belt/horizontal_start",
"x": 90,
"y": 180
},
"casing=true,facing=north,part=end,slope=vertical": {
"model": "create:block/belt_casing/vertical_end",
"x": 90,
"y": 180
},
"casing=false,facing=south,part=end,slope=vertical": {
"model": "create:block/belt/horizontal_end",
"x": 90
},
"casing=true,facing=south,part=end,slope=vertical": {
"model": "create:block/belt_casing/vertical_end",
"x": 90
},
"casing=false,facing=west,part=end,slope=vertical": {
"model": "create:block/belt/horizontal_start",
"x": 90,
"y": 90
},
"casing=true,facing=west,part=end,slope=vertical": {
"model": "create:block/belt_casing/vertical_end",
"x": 90,
"y": 90
},
"casing=false,facing=east,part=end,slope=vertical": {
"model": "create:block/belt/horizontal_end",
"x": 90,
"y": 270
},
"casing=true,facing=east,part=end,slope=vertical": {
"model": "create:block/belt_casing/vertical_end",
"x": 90,
"y": 270
},
"casing=false,facing=north,part=pulley,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90,
"y": 180
},
"casing=true,facing=north,part=pulley,slope=vertical": {
"model": "create:block/belt_casing/vertical_pulley",
"x": 90,
"y": 180
},
"casing=false,facing=south,part=pulley,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90
},
"casing=true,facing=south,part=pulley,slope=vertical": {
"model": "create:block/belt_casing/vertical_pulley",
"x": 90
},
"casing=false,facing=west,part=pulley,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90,
"y": 90
},
"casing=true,facing=west,part=pulley,slope=vertical": {
"model": "create:block/belt_casing/vertical_pulley",
"x": 90,
"y": 90
},
"casing=false,facing=east,part=pulley,slope=vertical": {
"model": "create:block/belt/horizontal_middle",
"x": 90,
"y": 270
},
"casing=true,facing=east,part=pulley,slope=vertical": {
"model": "create:block/belt_casing/vertical_pulley",
"x": 90,
"y": 270
}
}
}

View file

@ -2,12 +2,10 @@
"variants": { "variants": {
"facing=down": { "facing=down": {
"model": "create:block/creative_motor/block_vertical", "model": "create:block/creative_motor/block_vertical",
"x": 180, "x": 180
"y": 270
}, },
"facing=up": { "facing=up": {
"model": "create:block/creative_motor/block_vertical", "model": "create:block/creative_motor/block_vertical"
"y": 270
}, },
"facing=north": { "facing=north": {
"model": "create:block/creative_motor/block", "model": "create:block/creative_motor/block",

View file

@ -11,6 +11,7 @@
"block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.belt": "\u0287\u05DF\u01DD\u15FA",
"block.create.birch_window": "\u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA", "block.create.birch_window": "\u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA",
"block.create.birch_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA", "block.create.birch_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA",
"block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA", "block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA",

View file

@ -11,6 +11,7 @@
"block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall",
"block.create.andesite_pillar": "Andesite Pillar", "block.create.andesite_pillar": "Andesite Pillar",
"block.create.belt": "Belt",
"block.create.birch_window": "Birch Window", "block.create.birch_window": "Birch Window",
"block.create.birch_window_pane": "Birch Window Pane", "block.create.birch_window_pane": "Birch Window Pane",
"block.create.brass_block": "Brass Block", "block.create.brass_block": "Brass Block",

View file

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

View file

@ -47,7 +47,6 @@ import com.simibubi.create.modules.contraptions.redstone.AnalogLeverBlock;
import com.simibubi.create.modules.contraptions.redstone.ContactBlock; import com.simibubi.create.modules.contraptions.redstone.ContactBlock;
import com.simibubi.create.modules.contraptions.relays.advanced.SpeedControllerBlock; import com.simibubi.create.modules.contraptions.relays.advanced.SpeedControllerBlock;
import com.simibubi.create.modules.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock; import com.simibubi.create.modules.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.modules.contraptions.relays.gauge.GaugeBlock; import com.simibubi.create.modules.contraptions.relays.gauge.GaugeBlock;
import com.simibubi.create.modules.logistics.block.RedstoneLinkBlock; import com.simibubi.create.modules.logistics.block.RedstoneLinkBlock;
import com.simibubi.create.modules.logistics.block.StockswitchBlock; import com.simibubi.create.modules.logistics.block.StockswitchBlock;
@ -106,7 +105,7 @@ public enum AllBlocks implements NonNullSupplier<Block> {
// ENCASED_BELT(EncasedBeltBlock::new), // ENCASED_BELT(EncasedBeltBlock::new),
// ADJUSTABLE_PULLEY(AdjustablePulleyBlock::new), // ADJUSTABLE_PULLEY(AdjustablePulleyBlock::new),
BELT(BeltBlock::new, ComesWith.NO_BLOCKITEM), // BELT(BeltBlock::new, ComesWith.NO_BLOCKITEM),
// CREATIVE_MOTOR(MotorBlock::new), // CREATIVE_MOTOR(MotorBlock::new),
WATER_WHEEL(WaterWheelBlock::new), WATER_WHEEL(WaterWheelBlock::new),
ENCASED_FAN(EncasedFanBlock::new), ENCASED_FAN(EncasedFanBlock::new),

View file

@ -4,6 +4,7 @@ import static com.simibubi.create.foundation.utility.data.BlockStateGen.oxidized
import static com.simibubi.create.foundation.utility.data.ModelGen.oxidizedItemModel; import static com.simibubi.create.foundation.utility.data.ModelGen.oxidizedItemModel;
import static com.simibubi.create.modules.Sections.SCHEMATICS; import static com.simibubi.create.modules.Sections.SCHEMATICS;
import com.simibubi.create.config.StressConfigDefaults;
import com.simibubi.create.foundation.registrate.CreateRegistrate; import com.simibubi.create.foundation.registrate.CreateRegistrate;
import com.simibubi.create.foundation.utility.data.AssetLookup; import com.simibubi.create.foundation.utility.data.AssetLookup;
import com.simibubi.create.foundation.utility.data.BlockStateGen; import com.simibubi.create.foundation.utility.data.BlockStateGen;
@ -11,6 +12,8 @@ import com.simibubi.create.foundation.world.OxidizingBlock;
import com.simibubi.create.modules.Sections; import com.simibubi.create.modules.Sections;
import com.simibubi.create.modules.contraptions.components.motor.MotorBlock; import com.simibubi.create.modules.contraptions.components.motor.MotorBlock;
import com.simibubi.create.modules.contraptions.components.motor.MotorGenerator; import com.simibubi.create.modules.contraptions.components.motor.MotorGenerator;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.modules.contraptions.relays.belt.BeltGenerator;
import com.simibubi.create.modules.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.modules.contraptions.relays.elementary.CogWheelBlock;
import com.simibubi.create.modules.contraptions.relays.elementary.CogwheelBlockItem; import com.simibubi.create.modules.contraptions.relays.elementary.CogwheelBlockItem;
import com.simibubi.create.modules.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.modules.contraptions.relays.elementary.ShaftBlock;
@ -32,6 +35,7 @@ import com.tterrag.registrate.util.nullness.NonNullFunction;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.SoundType; import net.minecraft.block.SoundType;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.tags.BlockTags; import net.minecraft.tags.BlockTags;
@ -156,9 +160,16 @@ public class AllBlocksNew {
.build() .build()
.register(); .register();
public static final BlockEntry<BeltBlock> BELT = REGISTRATE.block("belt", BeltBlock::new)
.initialProperties(SharedProperties.beltMaterial, MaterialColor.GRAY)
.transform(StressConfigDefaults.setImpact(1.0))
.blockstate(new BeltGenerator()::generate)
.register();
public static final BlockEntry<MotorBlock> CREATIVE_MOTOR = REGISTRATE.block("creative_motor", MotorBlock::new) public static final BlockEntry<MotorBlock> CREATIVE_MOTOR = REGISTRATE.block("creative_motor", MotorBlock::new)
.initialProperties(SharedProperties::kinetic) .initialProperties(SharedProperties::kinetic)
.blockstate(new MotorGenerator()::generate) .blockstate(new MotorGenerator()::generate)
.transform(StressConfigDefaults.setCapacity(16384.0))
.item() .item()
.model(AssetLookup::customItemModel) .model(AssetLookup::customItemModel)
.build() .build()

View file

@ -121,7 +121,7 @@ public enum AllTileEntities {
HAND_CRANK(HandCrankTileEntity::new, AllBlocks.HAND_CRANK), HAND_CRANK(HandCrankTileEntity::new, AllBlocks.HAND_CRANK),
CUCKOO_CLOCK(CuckooClockTileEntity::new, AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK), CUCKOO_CLOCK(CuckooClockTileEntity::new, AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK),
BELT(BeltTileEntity::new, AllBlocks.BELT), BELT(BeltTileEntity::new, AllBlocksNew.BELT),
BELT_TUNNEL(BeltTunnelTileEntity::new, AllBlocks.BELT_TUNNEL), BELT_TUNNEL(BeltTunnelTileEntity::new, AllBlocks.BELT_TUNNEL),
MECHANICAL_PISTON(MechanicalPistonTileEntity::new, AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON), MECHANICAL_PISTON(MechanicalPistonTileEntity::new, AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON),
MECHANICAL_BEARING(MechanicalBearingTileEntity::new, AllBlocks.MECHANICAL_BEARING), MECHANICAL_BEARING(MechanicalBearingTileEntity::new, AllBlocks.MECHANICAL_BEARING),

View file

@ -2,9 +2,15 @@ package com.simibubi.create;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.material.PushReaction;
public class SharedProperties { public class SharedProperties {
static Material beltMaterial =
new Material(MaterialColor.GRAY, false, true, true, true, true, false, false, PushReaction.NORMAL);
static Block kinetic() { static Block kinetic() {
return Blocks.ANDESITE; return Blocks.ANDESITE;
} }

View file

@ -8,6 +8,7 @@ import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.modules.contraptions.base.KineticBlock; import com.simibubi.create.modules.contraptions.base.KineticBlock;
import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock; import com.simibubi.create.modules.contraptions.components.flywheel.engine.EngineBlock;
import net.minecraft.block.Block;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.ForgeConfigSpec; import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.common.ForgeConfigSpec.Builder; import net.minecraftforge.common.ForgeConfigSpec.Builder;
@ -15,36 +16,63 @@ import net.minecraftforge.common.ForgeConfigSpec.ConfigValue;
public class CStress extends ConfigBase { public class CStress extends ConfigBase {
public Map<ResourceLocation, ConfigValue<Double>> capacities = new HashMap<>(); private Map<ResourceLocation, ConfigValue<Double>> capacities = new HashMap<>();
public Map<ResourceLocation, ConfigValue<Double>> impacts = new HashMap<>(); private Map<ResourceLocation, ConfigValue<Double>> impacts = new HashMap<>();
@Override @Override
protected void registerAll(Builder builder) { protected void registerAll(Builder builder) {
builder.comment("", Comments.su, Comments.impact).push("impact"); builder.comment("", Comments.su, Comments.impact)
.push("impact");
// old
for (AllBlocks block : AllBlocks.values()) for (AllBlocks block : AllBlocks.values())
if (block.get() instanceof KineticBlock) if (block.get() instanceof KineticBlock)
initStressEntry(block, builder); initStressEntry(block, builder);
//
StressConfigDefaults.registeredDefaultImpacts.forEach((r, i) -> getImpacts().put(r, builder.define(r.getPath(), i)));
builder.pop(); builder.pop();
builder.comment("", Comments.su, Comments.capacity).push("capacity"); builder.comment("", Comments.su, Comments.capacity)
.push("capacity");
// old
for (AllBlocks block : AllBlocks.values()) for (AllBlocks block : AllBlocks.values())
if (block.get() instanceof KineticBlock || block.get() instanceof EngineBlock) if (block.get() instanceof KineticBlock || block.get() instanceof EngineBlock)
initStressCapacityEntry(block, builder); initStressCapacityEntry(block, builder);
//
StressConfigDefaults.registeredDefaultCapacities
.forEach((r, i) -> getCapacities().put(r, builder.define(r.getPath(), i)));
builder.pop(); builder.pop();
} }
public double getImpactOf(Block block) {
ResourceLocation key = block.getRegistryName();
return getImpacts().containsKey(key) ? getImpacts().get(key).get() : 0;
}
public double getCapacityOf(Block block) {
ResourceLocation key = block.getRegistryName();
return getCapacities().containsKey(key) ? getCapacities().get(key).get() : 0;
}
@Deprecated
private void initStressEntry(AllBlocks block, final ForgeConfigSpec.Builder builder) { private void initStressEntry(AllBlocks block, final ForgeConfigSpec.Builder builder) {
String name = Lang.asId(block.name()); String name = Lang.asId(block.name());
double defaultStressImpact = StressConfigDefaults.getDefaultStressImpact(block); double defaultStressImpact = StressConfigDefaults.getDefaultStressImpact(block);
impacts.put(block.get().getRegistryName(), builder.define(name, defaultStressImpact)); getImpacts().put(block.get()
.getRegistryName(), builder.define(name, defaultStressImpact));
} }
@Deprecated
private void initStressCapacityEntry(AllBlocks block, final ForgeConfigSpec.Builder builder) { private void initStressCapacityEntry(AllBlocks block, final ForgeConfigSpec.Builder builder) {
double defaultStressCapacity = StressConfigDefaults.getDefaultStressCapacity(block); double defaultStressCapacity = StressConfigDefaults.getDefaultStressCapacity(block);
if (defaultStressCapacity == -1) if (defaultStressCapacity == -1)
return; return;
String name = Lang.asId(block.name()); String name = Lang.asId(block.name());
capacities.put(block.get().getRegistryName(), builder.define(name, defaultStressCapacity)); getCapacities().put(block.get()
.getRegistryName(), builder.define(name, defaultStressCapacity));
} }
@Override @Override
@ -52,6 +80,14 @@ public class CStress extends ConfigBase {
return "stressValues.v" + StressConfigDefaults.forcedUpdateVersion; return "stressValues.v" + StressConfigDefaults.forcedUpdateVersion;
} }
public Map<ResourceLocation, ConfigValue<Double>> getImpacts() {
return impacts;
}
public Map<ResourceLocation, ConfigValue<Double>> getCapacities() {
return capacities;
}
private static class Comments { private static class Comments {
static String su = "[in Stress Units]"; static String su = "[in Stress Units]";
static String impact = static String impact =

View file

@ -1,19 +1,47 @@
package com.simibubi.create.config; package com.simibubi.create.config;
import java.util.HashMap;
import java.util.Map;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.Create;
import com.tterrag.registrate.builders.BlockBuilder;
import com.tterrag.registrate.util.nullness.NonNullUnaryOperator;
import net.minecraft.block.Block;
import net.minecraft.util.ResourceLocation;
public class StressConfigDefaults { public class StressConfigDefaults {
/** /**
* Increment this number if all stress entries should be updated in this update. * Increment this number if all stress entries should be forced to update in the next release.
* Worlds from the previous version will overwrite potentially changed values with the new defaults. * Worlds from the previous version will overwrite potentially changed values
* with the new defaults.
*/ */
public static final int forcedUpdateVersion = 1; public static final int forcedUpdateVersion = 1;
static Map<ResourceLocation, Double> registeredDefaultImpacts = new HashMap<>();
static Map<ResourceLocation, Double> registeredDefaultCapacities = new HashMap<>();
public static <B extends Block, P> NonNullUnaryOperator<BlockBuilder<B, P>> setImpact(double impact) {
return b -> {
registeredDefaultImpacts.put(Create.asResource(b.getName()), impact);
return b;
};
}
public static <B extends Block, P> NonNullUnaryOperator<BlockBuilder<B, P>> setCapacity(double capacity) {
return b -> {
registeredDefaultCapacities.put(Create.asResource(b.getName()), capacity);
return b;
};
}
@Deprecated
public static double getDefaultStressCapacity(AllBlocks block) { public static double getDefaultStressCapacity(AllBlocks block) {
switch (block) { switch (block) {
// case CREATIVE_MOTOR: TODO add a builder transform to register default capacities // case CREATIVE_MOTOR:
// return 2048; // return 2048;
case FURNACE_ENGINE: case FURNACE_ENGINE:
return 1024; return 1024;
@ -29,6 +57,7 @@ public class StressConfigDefaults {
} }
} }
@Deprecated
public static double getDefaultStressImpact(AllBlocks block) { public static double getDefaultStressImpact(AllBlocks block) {
switch (block) { switch (block) {
@ -52,7 +81,7 @@ public class StressConfigDefaults {
case STICKY_MECHANICAL_PISTON: case STICKY_MECHANICAL_PISTON:
return 2; return 2;
case BELT: // case BELT:
case ENCASED_FAN: case ENCASED_FAN:
case CUCKOO_CLOCK: case CUCKOO_CLOCK:
return 1; return 1;

View file

@ -95,8 +95,8 @@ public class ItemDescription {
isEngine ? SpeedLevel.NONE : ((IRotate) block).getMinimumRequiredSpeedLevel(); isEngine ? SpeedLevel.NONE : ((IRotate) block).getMinimumRequiredSpeedLevel();
boolean hasSpeedRequirement = minimumRequiredSpeedLevel != SpeedLevel.NONE; boolean hasSpeedRequirement = minimumRequiredSpeedLevel != SpeedLevel.NONE;
ResourceLocation id = ((Block) block).getRegistryName(); ResourceLocation id = ((Block) block).getRegistryName();
Map<ResourceLocation, ConfigValue<Double>> impacts = config.stressValues.impacts; Map<ResourceLocation, ConfigValue<Double>> impacts = config.stressValues.getImpacts();
Map<ResourceLocation, ConfigValue<Double>> capacities = config.stressValues.capacities; Map<ResourceLocation, ConfigValue<Double>> capacities = config.stressValues.getCapacities();
boolean hasStressImpact = impacts.containsKey(id) && impacts.get(id).get() > 0 && StressImpact.isEnabled(); boolean hasStressImpact = impacts.containsKey(id) && impacts.get(id).get() > 0 && StressImpact.isEnabled();
boolean hasStressCapacity = capacities.containsKey(id) && StressImpact.isEnabled(); boolean hasStressCapacity = capacities.containsKey(id) && StressImpact.isEnabled();
boolean hasGlasses = boolean hasGlasses =
@ -115,6 +115,7 @@ public class ItemDescription {
add(linesOnShift, GRAY + Lang.translate("tooltip.speedRequirement")); add(linesOnShift, GRAY + Lang.translate("tooltip.speedRequirement"));
add(linesOnShift, level); add(linesOnShift, level);
} }
String stressUnit = Lang.translate("generic.unit.stress"); String stressUnit = Lang.translate("generic.unit.stress");
if (hasStressImpact && !(!isEngine && ((IRotate) block).hideStressImpact())) { if (hasStressImpact && !(!isEngine && ((IRotate) block).hideStressImpact())) {
List<String> stressLevels = Lang.translatedOptions("tooltip.stressImpact", "low", "medium", "high"); List<String> stressLevels = Lang.translatedOptions("tooltip.stressImpact", "low", "medium", "high");
@ -129,8 +130,8 @@ public class ItemDescription {
add(linesOnShift, GRAY + Lang.translate("tooltip.stressImpact")); add(linesOnShift, GRAY + Lang.translate("tooltip.stressImpact"));
add(linesOnShift, level); add(linesOnShift, level);
} }
if (hasStressCapacity) { if (hasStressCapacity) {
List<String> stressCapacityLevels = List<String> stressCapacityLevels =
Lang.translatedOptions("tooltip.capacityProvided", "low", "medium", "high"); Lang.translatedOptions("tooltip.capacityProvided", "low", "medium", "high");

View file

@ -1,6 +1,5 @@
package com.simibubi.create.modules.contraptions; package com.simibubi.create.modules.contraptions;
import static com.simibubi.create.AllBlocks.BELT;
import static com.simibubi.create.modules.contraptions.relays.elementary.CogWheelBlock.isLargeCog; import static com.simibubi.create.modules.contraptions.relays.elementary.CogWheelBlock.isLargeCog;
import static net.minecraft.state.properties.BlockStateProperties.AXIS; import static net.minecraft.state.properties.BlockStateProperties.AXIS;
@ -8,6 +7,7 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.config.AllConfigs; import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.modules.contraptions.base.IRotate; import com.simibubi.create.modules.contraptions.base.IRotate;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
@ -421,7 +421,7 @@ public class RotationPropagator {
IRotate block = (IRotate) blockState.getBlock(); IRotate block = (IRotate) blockState.getBlock();
if (block.hasIntegratedCogwheel(te.getWorld(), te.getPos(), blockState) || isLargeWheel if (block.hasIntegratedCogwheel(te.getWorld(), te.getPos(), blockState) || isLargeWheel
|| BELT.typeOf(blockState)) { || AllBlocksNew.BELT.has(blockState)) {
Axis axis = block.getRotationAxis(blockState); Axis axis = block.getRotationAxis(blockState);
BlockPos.getAllInBox(new BlockPos(-1, -1, -1), new BlockPos(1, 1, 1)).forEach(offset -> { BlockPos.getAllInBox(new BlockPos(-1, -1, -1), new BlockPos(1, 1, 1)).forEach(offset -> {

View file

@ -4,7 +4,6 @@ import static net.minecraft.util.text.TextFormatting.GOLD;
import static net.minecraft.util.text.TextFormatting.GRAY; import static net.minecraft.util.text.TextFormatting.GRAY;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -29,11 +28,9 @@ import net.minecraft.nbt.NBTUtil;
import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeConfigSpec.ConfigValue;
public abstract class KineticTileEntity extends SmartTileEntity public abstract class KineticTileEntity extends SmartTileEntity
implements ITickableTileEntity, IHaveGoggleInformation, IHaveHoveringInformation { implements ITickableTileEntity, IHaveGoggleInformation, IHaveHoveringInformation {
@ -146,19 +143,13 @@ public abstract class KineticTileEntity extends SmartTileEntity
} }
public float calculateAddedStressCapacity() { public float calculateAddedStressCapacity() {
Map<ResourceLocation, ConfigValue<Double>> capacityMap = AllConfigs.SERVER.kinetics.stressValues.capacities; float capacity = (float) AllConfigs.SERVER.kinetics.stressValues.getCapacityOf(getBlockState().getBlock());
ResourceLocation path = getBlockState().getBlock().getRegistryName();
float capacity = capacityMap.containsKey(path) ? capacityMap.get(path).get().floatValue() : 0;
this.lastCapacityProvided = capacity; this.lastCapacityProvided = capacity;
return capacity; return capacity;
} }
public float calculateStressApplied() { public float calculateStressApplied() {
Map<ResourceLocation, ConfigValue<Double>> stressEntries = AllConfigs.SERVER.kinetics.stressValues.impacts; float impact = (float) AllConfigs.SERVER.kinetics.stressValues.getImpactOf(getBlockState().getBlock());
ResourceLocation path = getBlockState().getBlock().getRegistryName();
float impact = stressEntries.containsKey(path) ? stressEntries.get(path).get().floatValue() : 1;
this.lastStressApplied = impact; this.lastStressApplied = impact;
return impact; return impact;
} }
@ -170,8 +161,7 @@ public abstract class KineticTileEntity extends SmartTileEntity
flickerTally = getFlickerScore() + 5; flickerTally = getFlickerScore() + 5;
if (fromOrToZero && previousSpeed == 0 && !world.isRemote) if (fromOrToZero && previousSpeed == 0 && !world.isRemote)
AllTriggers AllTriggers.getPlayersInRange(world, pos, 4)
.getPlayersInRange(world, pos, 4)
.forEach(p -> AllTriggers.KINETIC_BLOCK.trigger(p, getBlockState())); .forEach(p -> AllTriggers.KINETIC_BLOCK.trigger(p, getBlockState()));
} }
@ -368,7 +358,8 @@ public abstract class KineticTileEntity extends SmartTileEntity
KineticTileEntity tileEntity = (KineticTileEntity) tileEntityIn; KineticTileEntity tileEntity = (KineticTileEntity) tileEntityIn;
if (tileEntity.hasNetwork()) if (tileEntity.hasNetwork())
tileEntity.getOrCreateNetwork().remove(tileEntity); tileEntity.getOrCreateNetwork()
.remove(tileEntity);
tileEntity.detachKinetics(); tileEntity.detachKinetics();
tileEntity.removeSource(); tileEntity.removeSource();
world.setBlockState(pos, state, 3); world.setBlockState(pos, state, 3);
@ -389,9 +380,8 @@ public abstract class KineticTileEntity extends SmartTileEntity
if (overStressed && AllConfigs.CLIENT.enableOverstressedTooltip.get()) { if (overStressed && AllConfigs.CLIENT.enableOverstressedTooltip.get()) {
tooltip.add(spacing + GOLD + Lang.translate("gui.stress_gauge.overstressed")); tooltip.add(spacing + GOLD + Lang.translate("gui.stress_gauge.overstressed"));
String hint = Lang String hint = Lang.translate("gui.contraptions.network_overstressed", I18n.format(getBlockState().getBlock()
.translate("gui.contraptions.network_overstressed", .getTranslationKey()));
I18n.format(getBlockState().getBlock().getTranslationKey()));
List<String> cutString = TooltipHelper.cutString(spacing + hint, GRAY, TextFormatting.WHITE); List<String> cutString = TooltipHelper.cutString(spacing + hint, GRAY, TextFormatting.WHITE);
for (int i = 0; i < cutString.size(); i++) for (int i = 0; i < cutString.size(); i++)
tooltip.add((i == 0 ? "" : spacing) + cutString.get(i)); tooltip.add((i == 0 ? "" : spacing) + cutString.get(i));
@ -400,9 +390,8 @@ public abstract class KineticTileEntity extends SmartTileEntity
if (notFastEnough) { if (notFastEnough) {
tooltip.add(spacing + GOLD + Lang.translate("tooltip.speedRequirement")); tooltip.add(spacing + GOLD + Lang.translate("tooltip.speedRequirement"));
String hint = Lang String hint = Lang.translate("gui.contraptions.not_fast_enough", I18n.format(getBlockState().getBlock()
.translate("gui.contraptions.not_fast_enough", .getTranslationKey()));
I18n.format(getBlockState().getBlock().getTranslationKey()));
List<String> cutString = TooltipHelper.cutString(spacing + hint, GRAY, TextFormatting.WHITE); List<String> cutString = TooltipHelper.cutString(spacing + hint, GRAY, TextFormatting.WHITE);
for (int i = 0; i < cutString.size(); i++) for (int i = 0; i < cutString.size(); i++)
tooltip.add((i == 0 ? "" : spacing) + cutString.get(i)); tooltip.add((i == 0 ? "" : spacing) + cutString.get(i));
@ -426,13 +415,9 @@ public abstract class KineticTileEntity extends SmartTileEntity
String stressString = String stressString =
spacing + "%s%s" + Lang.translate("generic.unit.stress") + " " + TextFormatting.DARK_GRAY + "%s"; spacing + "%s%s" + Lang.translate("generic.unit.stress") + " " + TextFormatting.DARK_GRAY + "%s";
tooltip tooltip.add(String.format(stressString, TextFormatting.AQUA, IHaveGoggleInformation.format(stressAtBase),
.add(String
.format(stressString, TextFormatting.AQUA, IHaveGoggleInformation.format(stressAtBase),
Lang.translate("gui.goggles.base_value"))); Lang.translate("gui.goggles.base_value")));
tooltip tooltip.add(String.format(stressString, TextFormatting.GRAY, IHaveGoggleInformation.format(stressTotal),
.add(String
.format(stressString, TextFormatting.GRAY, IHaveGoggleInformation.format(stressTotal),
Lang.translate("gui.goggles.at_current_speed"))); Lang.translate("gui.goggles.at_current_speed")));
added = true; added = true;

View file

@ -1,6 +1,7 @@
package com.simibubi.create.modules.contraptions.components.contraptions; package com.simibubi.create.modules.contraptions.components.contraptions;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.modules.contraptions.components.actors.AttachedActorBlock; import com.simibubi.create.modules.contraptions.components.actors.AttachedActorBlock;
import com.simibubi.create.modules.contraptions.components.actors.HarvesterBlock; import com.simibubi.create.modules.contraptions.components.actors.HarvesterBlock;
import com.simibubi.create.modules.contraptions.components.actors.PortableStorageInterfaceBlock; import com.simibubi.create.modules.contraptions.components.actors.PortableStorageInterfaceBlock;
@ -95,7 +96,7 @@ public class BlockMovementTraits {
return !((PulleyTileEntity) te).running; return !((PulleyTileEntity) te).running;
} }
if (AllBlocks.BELT.typeOf(blockState)) if (AllBlocksNew.BELT.has(blockState))
return true; return true;
if (block instanceof ExtractorBlock) if (block instanceof ExtractorBlock)
return true; return true;

View file

@ -18,6 +18,7 @@ import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.config.AllConfigs; import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.NBTHelper;
@ -172,7 +173,7 @@ public abstract class Contraption {
if (AllBlocks.FLEXCRATE.typeOf(state)) if (AllBlocks.FLEXCRATE.typeOf(state))
FlexcrateBlock.splitCrate(world, pos); FlexcrateBlock.splitCrate(world, pos);
if (AllBlocks.BELT.typeOf(state)) { if (AllBlocksNew.BELT.has(state)) {
BlockPos nextPos = BeltBlock.nextSegmentPosition(state, pos, true); BlockPos nextPos = BeltBlock.nextSegmentPosition(state, pos, true);
BlockPos prevPos = BeltBlock.nextSegmentPosition(state, pos, false); BlockPos prevPos = BeltBlock.nextSegmentPosition(state, pos, false);
if (nextPos != null && !visited.contains(nextPos)) if (nextPos != null && !visited.contains(nextPos))

View file

@ -5,7 +5,7 @@ import static net.minecraft.state.properties.BlockStateProperties.AXIS;
import static net.minecraft.state.properties.BlockStateProperties.FACING; import static net.minecraft.state.properties.BlockStateProperties.FACING;
import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING; import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.utility.DirectionHelper; import com.simibubi.create.foundation.utility.DirectionHelper;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.modules.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.modules.contraptions.base.DirectionalAxisKineticBlock;
@ -146,7 +146,7 @@ public class StructureTransform {
return state; return state;
} }
if (AllBlocks.BELT.typeOf(state)) { if (AllBlocksNew.BELT.has(state)) {
if (state.get(BeltBlock.HORIZONTAL_FACING).getAxis() != rotationAxis) { if (state.get(BeltBlock.HORIZONTAL_FACING).getAxis() != rotationAxis) {
for (int i = 0; i < rotation.ordinal(); i++) { for (int i = 0; i < rotation.ordinal(); i++) {
Slope slope = state.get(BeltBlock.SLOPE); Slope slope = state.get(BeltBlock.SLOPE);

View file

@ -9,6 +9,7 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour; import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
import com.simibubi.create.foundation.behaviour.inventory.InsertingBehaviour; import com.simibubi.create.foundation.behaviour.inventory.InsertingBehaviour;
@ -309,7 +310,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity {
protected boolean isTargetingBelt() { protected boolean isTargetingBelt() {
BlockPos targetPos = pos.offset(getTargetFacing()); BlockPos targetPos = pos.offset(getTargetFacing());
if (!AllBlocks.BELT.typeOf(world.getBlockState(targetPos))) if (!AllBlocksNew.BELT.has(world.getBlockState(targetPos)))
return false; return false;
TileEntity te = world.getTileEntity(targetPos); TileEntity te = world.getTileEntity(targetPos);
if (!(te instanceof BeltTileEntity)) if (!(te instanceof BeltTileEntity))

View file

@ -7,7 +7,6 @@ import com.simibubi.create.config.AllConfigs;
import net.minecraft.block.AbstractFurnaceBlock; import net.minecraft.block.AbstractFurnaceBlock;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.util.ResourceLocation;
public class FurnaceEngineTileEntity extends EngineTileEntity { public class FurnaceEngineTileEntity extends EngineTileEntity {
@ -29,9 +28,9 @@ public class FurnaceEngineTileEntity extends EngineTileEntity {
float modifier = state.getBlock() == Blocks.BLAST_FURNACE ? 2 : 1; float modifier = state.getBlock() == Blocks.BLAST_FURNACE ? 2 : 1;
boolean active = state.has(AbstractFurnaceBlock.LIT) && state.get(AbstractFurnaceBlock.LIT); boolean active = state.has(AbstractFurnaceBlock.LIT) && state.get(AbstractFurnaceBlock.LIT);
float speed = active ? 16 * modifier : 0; float speed = active ? 16 * modifier : 0;
ResourceLocation registryName = AllBlocks.FURNACE_ENGINE.get().getRegistryName();
float capacity = float capacity =
active ? AllConfigs.SERVER.kinetics.stressValues.capacities.get(registryName).get().floatValue() : 0; (float) (active ? AllConfigs.SERVER.kinetics.stressValues.getCapacityOf(AllBlocks.FURNACE_ENGINE.get())
: 0);
appliedCapacity = capacity; appliedCapacity = capacity;
appliedSpeed = speed; appliedSpeed = speed;

View file

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper;
import com.simibubi.create.foundation.utility.AllShapes; import com.simibubi.create.foundation.utility.AllShapes;
@ -124,7 +125,7 @@ public class MechanicalPressBlock extends HorizontalKineticBlock
@Override @Override
public boolean isAttachedCorrectly(IWorld world, BlockPos attachmentPos, BlockPos beltPos, public boolean isAttachedCorrectly(IWorld world, BlockPos attachmentPos, BlockPos beltPos,
BlockState attachmentState, BlockState beltState) { BlockState attachmentState, BlockState beltState) {
return AllBlocks.BELT.typeOf(beltState) && beltState.get(BeltBlock.SLOPE) == Slope.HORIZONTAL; return AllBlocksNew.BELT.has(beltState) && beltState.get(BeltBlock.SLOPE) == Slope.HORIZONTAL;
} }
@Override @Override

View file

@ -9,6 +9,7 @@ import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllRecipes; import com.simibubi.create.AllRecipes;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour; import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
@ -149,7 +150,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
// Try moving items onto the belt // Try moving items onto the belt
BlockPos nextPos = pos.add(itemMovement.x, itemMovement.y, itemMovement.z); BlockPos nextPos = pos.add(itemMovement.x, itemMovement.y, itemMovement.z);
if (AllBlocks.BELT.typeOf(world.getBlockState(nextPos))) { if (AllBlocksNew.BELT.has(world.getBlockState(nextPos))) {
TileEntity te = world.getTileEntity(nextPos); TileEntity te = world.getTileEntity(nextPos);
if (te != null && te instanceof BeltTileEntity) { if (te != null && te instanceof BeltTileEntity) {
for (int slot = 0; slot < inventory.getSlots(); slot++) { for (int slot = 0; slot < inventory.getSlots(); slot++) {

View file

@ -76,8 +76,8 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
public static final IProperty<Part> PART = EnumProperty.create("part", Part.class); public static final IProperty<Part> PART = EnumProperty.create("part", Part.class);
public static final BooleanProperty CASING = BooleanProperty.create("casing"); public static final BooleanProperty CASING = BooleanProperty.create("casing");
public BeltBlock() { public BeltBlock(Properties properties) {
super(Properties.from(Blocks.BROWN_WOOL).noDrops()); super(properties);
setDefaultState(getDefaultState().with(SLOPE, Slope.HORIZONTAL).with(PART, Part.START).with(CASING, false)); setDefaultState(getDefaultState().with(SLOPE, Slope.HORIZONTAL).with(PART, Part.START).with(CASING, false));
} }
@ -143,9 +143,9 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
BlockPos entityPosition = entityIn.getPosition(); BlockPos entityPosition = entityIn.getPosition();
BlockPos beltPos = null; BlockPos beltPos = null;
if (AllBlocks.BELT.typeOf(worldIn.getBlockState(entityPosition))) if (AllBlocksNew.BELT.has(worldIn.getBlockState(entityPosition)))
beltPos = entityPosition; beltPos = entityPosition;
else if (AllBlocks.BELT.typeOf(worldIn.getBlockState(entityPosition.down()))) else if (AllBlocksNew.BELT.has(worldIn.getBlockState(entityPosition.down())))
beltPos = entityPosition.down(); beltPos = entityPosition.down();
if (beltPos == null) if (beltPos == null)
return; return;
@ -415,14 +415,14 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
return; return;
BlockState state = world.getBlockState(pos); BlockState state = world.getBlockState(pos);
if (!AllBlocks.BELT.typeOf(state)) if (!AllBlocksNew.BELT.has(state))
return; return;
// Find controller // Find controller
int limit = 1000; int limit = 1000;
BlockPos currentPos = pos; BlockPos currentPos = pos;
while (limit-- > 0) { while (limit-- > 0) {
BlockState currentState = world.getBlockState(currentPos); BlockState currentState = world.getBlockState(currentPos);
if (!AllBlocks.BELT.typeOf(currentState)) { if (!AllBlocksNew.BELT.has(currentState)) {
world.destroyBlock(pos, true); world.destroyBlock(pos, true);
return; return;
} }
@ -446,7 +446,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
TileEntity tileEntity = world.getTileEntity(beltPos); TileEntity tileEntity = world.getTileEntity(beltPos);
BlockState currentState = world.getBlockState(beltPos); BlockState currentState = world.getBlockState(beltPos);
if (tileEntity instanceof BeltTileEntity && AllBlocks.BELT.typeOf(currentState)) { if (tileEntity instanceof BeltTileEntity && AllBlocksNew.BELT.has(currentState)) {
BeltTileEntity te = (BeltTileEntity) tileEntity; BeltTileEntity te = (BeltTileEntity) tileEntity;
te.setController(currentPos); te.setController(currentPos);
te.beltLength = beltChain.size(); te.beltLength = beltChain.size();
@ -494,7 +494,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
if (currentPos == null) if (currentPos == null)
continue; continue;
BlockState currentState = world.getBlockState(currentPos); BlockState currentState = world.getBlockState(currentPos);
if (!AllBlocks.BELT.typeOf(currentState)) if (!AllBlocksNew.BELT.has(currentState))
continue; continue;
if (currentState.get(CASING)) if (currentState.get(CASING))
Block.spawnAsEntity(world, currentPos, new ItemStack(AllBlocks.BRASS_CASING.get())); Block.spawnAsEntity(world, currentPos, new ItemStack(AllBlocks.BRASS_CASING.get()));
@ -549,14 +549,14 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
List<BlockPos> positions = new LinkedList<>(); List<BlockPos> positions = new LinkedList<>();
BlockState blockState = world.getBlockState(controllerPos); BlockState blockState = world.getBlockState(controllerPos);
if (!AllBlocks.BELT.typeOf(blockState)) if (!AllBlocksNew.BELT.has(blockState))
return positions; return positions;
int limit = 1000; int limit = 1000;
BlockPos current = controllerPos; BlockPos current = controllerPos;
while (limit-- > 0 && current != null) { while (limit-- > 0 && current != null) {
BlockState state = world.getBlockState(current); BlockState state = world.getBlockState(current);
if (!AllBlocks.BELT.typeOf(state)) if (!AllBlocksNew.BELT.has(state))
break; break;
positions.add(current); positions.add(current);
current = nextSegmentPosition(state, current, true); current = nextSegmentPosition(state, current, true);

View file

@ -0,0 +1,69 @@
package com.simibubi.create.modules.contraptions.relays.belt;
import com.simibubi.create.foundation.utility.data.SpecialBlockStateGen;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock.Part;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock.Slope;
import com.tterrag.registrate.providers.DataGenContext;
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.generators.ModelFile;
public class BeltGenerator extends SpecialBlockStateGen {
@Override
protected int getXRotation(BlockState state) {
return state.get(BeltBlock.SLOPE) == Slope.VERTICAL ? 90 : 0;
}
@Override
protected int getYRotation(BlockState state) {
Boolean casing = state.get(BeltBlock.CASING);
Slope slope = state.get(BeltBlock.SLOPE);
boolean flip = casing && slope == Slope.UPWARD;
int horizontalAngle = (int) state.get(BeltBlock.HORIZONTAL_FACING)
.getHorizontalAngle();
return (360 + horizontalAngle + (flip ? 180 : 0)) % 360;
}
@Override
public <T extends Block> ModelFile getModel(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
BlockState state) {
Boolean casing = state.get(BeltBlock.CASING);
BeltBlock.Part part = state.get(BeltBlock.PART);
Direction direction = state.get(BeltBlock.HORIZONTAL_FACING);
Slope slope = state.get(BeltBlock.SLOPE);
boolean diagonal = slope == Slope.UPWARD || slope == Slope.DOWNWARD;
boolean vertical = slope == Slope.VERTICAL;
boolean pulley = part == Part.PULLEY;
boolean negative = direction.getAxisDirection() == AxisDirection.NEGATIVE;
if (!casing && pulley)
part = Part.MIDDLE;
if ((!casing && vertical && negative || casing && diagonal && negative != (direction.getAxis() == Axis.X))
&& part != Part.MIDDLE && !pulley)
part = part == Part.END ? Part.START : Part.END;
if (!casing && vertical)
slope = Slope.HORIZONTAL;
String path = "block/" + (casing ? "belt_casing/" : "belt/");
String slopeName = slope.getName();
String partName = part.getName();
if (casing && diagonal)
slopeName = "diagonal";
ResourceLocation location = prov.modLoc(path + slopeName + "_" + partName);
return prov.models()
.getExistingFile(location);
}
}

View file

@ -13,7 +13,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.ColorHelper;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
@ -73,7 +73,7 @@ public class BeltTileEntity extends KineticTileEntity {
// Init belt // Init belt
if (beltLength == 0) if (beltLength == 0)
BeltBlock.initBelt(world, pos); BeltBlock.initBelt(world, pos);
if (!AllBlocks.BELT.typeOf(world.getBlockState(pos))) if (!AllBlocksNew.BELT.has(world.getBlockState(pos)))
return; return;
// Initialize Belt Attachments // Initialize Belt Attachments
@ -253,7 +253,7 @@ public class BeltTileEntity extends KineticTileEntity {
} }
public boolean hasPulley() { public boolean hasPulley() {
if (!AllBlocks.BELT.typeOf(getBlockState())) if (!AllBlocksNew.BELT.has(getBlockState()))
return false; return false;
return getBlockState().get(BeltBlock.PART) != Part.MIDDLE; return getBlockState().get(BeltBlock.PART) != Part.MIDDLE;
} }

View file

@ -7,9 +7,9 @@ import java.util.Random;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder; import com.mojang.blaze3d.vertex.IVertexBuilder;
import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.CreateClient;
import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.CreateClient;
import com.simibubi.create.foundation.block.SafeTileEntityRenderer; import com.simibubi.create.foundation.block.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.IndependentShadowRenderer; import com.simibubi.create.foundation.utility.IndependentShadowRenderer;
@ -48,7 +48,7 @@ public class BeltTileEntityRenderer extends SafeTileEntityRenderer<BeltTileEntit
int light, int overlay) { int light, int overlay) {
BlockState blockState = te.getBlockState(); BlockState blockState = te.getBlockState();
if (!AllBlocks.BELT.typeOf(blockState)) if (!AllBlocksNew.BELT.has(blockState))
return; return;
BlockState renderedState = getBeltState(te); BlockState renderedState = getBeltState(te);

View file

@ -3,7 +3,7 @@ package com.simibubi.create.modules.contraptions.relays.belt.item;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.config.AllConfigs; import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
@ -33,7 +33,7 @@ import net.minecraft.world.World;
public class BeltConnectorItem extends BlockItem { public class BeltConnectorItem extends BlockItem {
public BeltConnectorItem(Properties properties) { public BeltConnectorItem(Properties properties) {
super(AllBlocks.BELT.get(), properties); super(AllBlocksNew.BELT.get(), properties);
} }
@Override @Override
@ -126,8 +126,7 @@ public class BeltConnectorItem extends BlockItem {
.get(BlockStateProperties.AXIS) == Axis.X ? Axis.Z : Axis.X); .get(BlockStateProperties.AXIS) == Axis.X ? Axis.Z : Axis.X);
List<BlockPos> beltsToCreate = getBeltChainBetween(start, end, slope, facing); List<BlockPos> beltsToCreate = getBeltChainBetween(start, end, slope, facing);
BlockState beltBlock = AllBlocks.BELT.get() BlockState beltBlock = AllBlocksNew.BELT.getDefaultState();
.getDefaultState();
for (BlockPos pos : beltsToCreate) { for (BlockPos pos : beltsToCreate) {
BeltBlock.Part part = pos.equals(start) ? Part.START : pos.equals(end) ? Part.END : Part.MIDDLE; BeltBlock.Part part = pos.equals(start) ? Part.START : pos.equals(end) ? Part.END : Part.MIDDLE;

View file

@ -8,6 +8,7 @@ import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.utility.ServerSpeedProvider; import com.simibubi.create.foundation.utility.ServerSpeedProvider;
import com.simibubi.create.modules.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState; import com.simibubi.create.modules.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock; import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
@ -248,7 +249,7 @@ public class BeltInventory {
} }
// next block is not a belt // next block is not a belt
if (!AllBlocks.BELT.typeOf(state) || state.get(BeltBlock.SLOPE) == Slope.VERTICAL) { if (!AllBlocksNew.BELT.has(state) || state.get(BeltBlock.SLOPE) == Slope.VERTICAL) {
if (!Block.hasSolidSide(state, world, nextPosition, movementFacing.getOpposite())) { if (!Block.hasSolidSide(state, world, nextPosition, movementFacing.getOpposite())) {
eject(current); eject(current);
iterator.remove(); iterator.remove();

View file

@ -6,7 +6,7 @@ import static net.minecraft.util.Direction.AxisDirection.POSITIVE;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.modules.contraptions.components.contraptions.ContraptionEntity; import com.simibubi.create.modules.contraptions.components.contraptions.ContraptionEntity;
import com.simibubi.create.modules.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState; import com.simibubi.create.modules.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock; import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
@ -183,8 +183,8 @@ public class BeltMovementHandler {
if (!isPlayer) if (!isPlayer)
entityIn.stepHeight = step; entityIn.stepHeight = step;
boolean movedPastEndingSlope = onSlope && (AllBlocks.BELT.typeOf(world.getBlockState(entityIn.getPosition())) boolean movedPastEndingSlope = onSlope && (AllBlocksNew.BELT.has(world.getBlockState(entityIn.getPosition()))
|| AllBlocks.BELT.typeOf(world.getBlockState(entityIn.getPosition().down()))); || AllBlocksNew.BELT.has(world.getBlockState(entityIn.getPosition().down())));
if (movedPastEndingSlope && !movingDown && Math.abs(movementSpeed) > 0) if (movedPastEndingSlope && !movingDown && Math.abs(movementSpeed) > 0)
entityIn.setPosition(entityIn.getY(), entityIn.getY() + movement.y, entityIn.getZ()); entityIn.setPosition(entityIn.getY(), entityIn.getY() + movement.y, entityIn.getZ());

View file

@ -1,6 +1,6 @@
package com.simibubi.create.modules.logistics.block; package com.simibubi.create.modules.logistics.block;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.modules.contraptions.IWrenchable; import com.simibubi.create.modules.contraptions.IWrenchable;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock; import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.modules.logistics.block.transposer.TransposerBlock; import com.simibubi.create.modules.logistics.block.transposer.TransposerBlock;
@ -86,7 +86,7 @@ public abstract class AttachedLogisticalBlock extends HorizontalBlock implements
if (neighbour.getBlock() instanceof TransposerBlock) if (neighbour.getBlock() instanceof TransposerBlock)
return false; return false;
if (AllBlocks.BELT.typeOf(neighbour)) if (AllBlocksNew.BELT.has(neighbour))
return BeltBlock.canAccessFromSide(facing, neighbour); return BeltBlock.canAccessFromSide(facing, neighbour);
return !neighbour.getShape(worldIn, pos).isEmpty(); return !neighbour.getShape(worldIn, pos).isEmpty();
} }

View file

@ -4,7 +4,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour; import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
import com.simibubi.create.foundation.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -92,7 +92,7 @@ public class BeltObserverBlock extends HorizontalBlock
Direction direction = state.get(HORIZONTAL_FACING); Direction direction = state.get(HORIZONTAL_FACING);
BlockState blockState = world.getBlockState(pos.offset(direction)); BlockState blockState = world.getBlockState(pos.offset(direction));
if (!AllBlocks.BELT.typeOf(blockState)) if (!AllBlocksNew.BELT.has(blockState))
return false; return false;
if (blockState.get(BeltBlock.SLOPE) != Slope.HORIZONTAL) if (blockState.get(BeltBlock.SLOPE) != Slope.HORIZONTAL)
return false; return false;
@ -114,7 +114,7 @@ public class BeltObserverBlock extends HorizontalBlock
continue; continue;
BlockState blockState = context.getWorld().getBlockState(context.getPos().offset(face)); BlockState blockState = context.getWorld().getBlockState(context.getPos().offset(face));
if (AllBlocks.BELT.typeOf(blockState) if (AllBlocksNew.BELT.has(blockState)
&& blockState.get(BlockStateProperties.HORIZONTAL_FACING).getAxis() != face.getAxis() && blockState.get(BlockStateProperties.HORIZONTAL_FACING).getAxis() != face.getAxis()
&& blockState.get(BeltBlock.SLOPE) == Slope.HORIZONTAL) && blockState.get(BeltBlock.SLOPE) == Slope.HORIZONTAL)
if (preferredFacing == null) if (preferredFacing == null)

View file

@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.WrappedWorld; import com.simibubi.create.foundation.utility.WrappedWorld;
@ -72,7 +73,7 @@ public class BeltTunnelBlock extends Block implements ITE<BeltTunnelTileEntity>,
@Override @Override
public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos) { public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos) {
BlockState blockState = worldIn.getBlockState(pos.down()); BlockState blockState = worldIn.getBlockState(pos.down());
if (!AllBlocks.BELT.typeOf(blockState)) if (!AllBlocksNew.BELT.has(blockState))
return false; return false;
if (blockState.get(BeltBlock.SLOPE) != Slope.HORIZONTAL) if (blockState.get(BeltBlock.SLOPE) != Slope.HORIZONTAL)
return false; return false;
@ -155,7 +156,7 @@ public class BeltTunnelBlock extends Block implements ITE<BeltTunnelTileEntity>,
BlockState state = AllBlocks.BELT_TUNNEL.get().getDefaultState(); BlockState state = AllBlocks.BELT_TUNNEL.get().getDefaultState();
BlockState belt = reader.getBlockState(pos.down()); BlockState belt = reader.getBlockState(pos.down());
if (AllBlocks.BELT.typeOf(belt)) if (AllBlocksNew.BELT.has(belt))
state = state.with(HORIZONTAL_AXIS, belt.get(BeltBlock.HORIZONTAL_FACING).getAxis()); state = state.with(HORIZONTAL_AXIS, belt.get(BeltBlock.HORIZONTAL_FACING).getAxis());
Axis axis = state.get(HORIZONTAL_AXIS); Axis axis = state.get(HORIZONTAL_AXIS);
@ -163,10 +164,10 @@ public class BeltTunnelBlock extends Block implements ITE<BeltTunnelTileEntity>,
Direction left = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis).rotateY(); Direction left = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis).rotateY();
BlockState leftState = reader.getBlockState(pos.offset(left).down()); BlockState leftState = reader.getBlockState(pos.offset(left).down());
boolean onLeft = boolean onLeft =
AllBlocks.BELT.typeOf(leftState) && leftState.get(BeltBlock.HORIZONTAL_FACING).getAxis() != axis; AllBlocksNew.BELT.has(leftState) && leftState.get(BeltBlock.HORIZONTAL_FACING).getAxis() != axis;
BlockState rightState = reader.getBlockState(pos.offset(left.getOpposite()).down()); BlockState rightState = reader.getBlockState(pos.offset(left.getOpposite()).down());
boolean onRight = boolean onRight =
AllBlocks.BELT.typeOf(rightState) && rightState.get(BeltBlock.HORIZONTAL_FACING).getAxis() != axis; AllBlocksNew.BELT.has(rightState) && rightState.get(BeltBlock.HORIZONTAL_FACING).getAxis() != axis;
if (onLeft && onRight) if (onLeft && onRight)
state = state.with(SHAPE, Shape.CROSS); state = state.with(SHAPE, Shape.CROSS);

View file

@ -7,6 +7,7 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.SyncedTileEntity; import com.simibubi.create.foundation.block.SyncedTileEntity;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
@ -51,7 +52,7 @@ public class BeltTunnelTileEntity extends SyncedTileEntity implements ITickableT
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
if (!this.cap.isPresent()) { if (!this.cap.isPresent()) {
if (AllBlocks.BELT.typeOf(world.getBlockState(pos.down()))) { if (AllBlocksNew.BELT.has(world.getBlockState(pos.down()))) {
TileEntity teBelow = world.getTileEntity(pos.down()); TileEntity teBelow = world.getTileEntity(pos.down());
if (teBelow != null) { if (teBelow != null) {
T capBelow = teBelow.getCapability(capability, Direction.UP).orElse(null); T capBelow = teBelow.getCapability(capability, Direction.UP).orElse(null);

View file

@ -2,7 +2,7 @@ package com.simibubi.create.modules.logistics.block.extractor;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.config.AllConfigs; import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.foundation.behaviour.base.SmartTileEntity; import com.simibubi.create.foundation.behaviour.base.SmartTileEntity;
@ -55,7 +55,7 @@ public class ExtractorTileEntity extends SmartTileEntity {
} }
protected void onExtract(ItemStack stack) { protected void onExtract(ItemStack stack) {
if (AllBlocks.BELT.typeOf(world.getBlockState(pos.down()))) { if (AllBlocksNew.BELT.has(world.getBlockState(pos.down()))) {
TileEntity te = world.getTileEntity(pos.down()); TileEntity te = world.getTileEntity(pos.down());
if (te instanceof BeltTileEntity) { if (te instanceof BeltTileEntity) {
if (((BeltTileEntity) te).tryInsertingFromSide(Direction.UP, stack, false)) if (((BeltTileEntity) te).tryInsertingFromSide(Direction.UP, stack, false))
@ -78,11 +78,11 @@ public class ExtractorTileEntity extends SmartTileEntity {
protected boolean isAttachedToBelt() { protected boolean isAttachedToBelt() {
Direction blockFacing = AttachedLogisticalBlock.getBlockFacing(getBlockState()); Direction blockFacing = AttachedLogisticalBlock.getBlockFacing(getBlockState());
return AllBlocks.BELT.typeOf(world.getBlockState(pos.offset(blockFacing))); return AllBlocksNew.BELT.has(world.getBlockState(pos.offset(blockFacing)));
} }
protected boolean isTargetingBelt() { protected boolean isTargetingBelt() {
if (!AllBlocks.BELT.typeOf(world.getBlockState(pos.down()))) if (!AllBlocksNew.BELT.has(world.getBlockState(pos.down())))
return false; return false;
TileEntity te = world.getTileEntity(pos.down()); TileEntity te = world.getTileEntity(pos.down());
if (te == null || !(te instanceof BeltTileEntity)) if (te == null || !(te instanceof BeltTileEntity))
@ -99,7 +99,7 @@ public class ExtractorTileEntity extends SmartTileEntity {
} }
protected boolean canExtract() { protected boolean canExtract() {
if (AllBlocks.BELT.typeOf(world.getBlockState(pos.down()))) { if (AllBlocksNew.BELT.has(world.getBlockState(pos.down()))) {
TileEntity te = world.getTileEntity(pos.down()); TileEntity te = world.getTileEntity(pos.down());
if (te instanceof BeltTileEntity) { if (te instanceof BeltTileEntity) {
BeltTileEntity belt = (BeltTileEntity) te; BeltTileEntity belt = (BeltTileEntity) te;

View file

@ -5,6 +5,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour; import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
import com.simibubi.create.foundation.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ITE;
@ -113,7 +114,7 @@ public class FunnelBlock extends AttachedLogisticalBlock
} }
protected boolean isOnBelt(IWorld world, BlockPos pos) { protected boolean isOnBelt(IWorld world, BlockPos pos) {
return AllBlocks.BELT.typeOf(world.getBlockState(pos.down())); return AllBlocksNew.BELT.has(world.getBlockState(pos.down()));
} }
@Override @Override

View file

@ -2,7 +2,7 @@ package com.simibubi.create.modules.logistics.block.funnel;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.SmartTileEntity; import com.simibubi.create.foundation.behaviour.base.SmartTileEntity;
@ -102,7 +102,7 @@ public class FunnelTileEntity extends SmartTileEntity {
protected BeltTileEntity getTargetingBelt() { protected BeltTileEntity getTargetingBelt() {
BlockPos targetPos = pos.offset(AttachedLogisticalBlock.getBlockFacing(getBlockState())); BlockPos targetPos = pos.offset(AttachedLogisticalBlock.getBlockFacing(getBlockState()));
if (!AllBlocks.BELT.typeOf(world.getBlockState(targetPos))) if (!AllBlocksNew.BELT.has(world.getBlockState(targetPos)))
return null; return null;
return BeltHelper.getSegmentTE(world, targetPos); return BeltHelper.getSegmentTE(world, targetPos);
} }

View file

@ -2,7 +2,7 @@ package com.simibubi.create.modules.logistics.block.transposer;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour; import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
import com.simibubi.create.foundation.behaviour.inventory.InsertingBehaviour; import com.simibubi.create.foundation.behaviour.inventory.InsertingBehaviour;
@ -69,7 +69,7 @@ public class TransposerTileEntity extends ExtractorTileEntity {
@Override @Override
protected boolean isTargetingBelt() { protected boolean isTargetingBelt() {
BlockPos targetPos = pos.offset(AttachedLogisticalBlock.getBlockFacing(getBlockState()).getOpposite()); BlockPos targetPos = pos.offset(AttachedLogisticalBlock.getBlockFacing(getBlockState()).getOpposite());
if (!AllBlocks.BELT.typeOf(world.getBlockState(targetPos))) if (!AllBlocksNew.BELT.has(world.getBlockState(targetPos)))
return false; return false;
TileEntity te = world.getTileEntity(targetPos); TileEntity te = world.getTileEntity(targetPos);
if (te == null || !(te instanceof BeltTileEntity)) if (te == null || !(te instanceof BeltTileEntity))

View file

@ -9,8 +9,8 @@ import static com.simibubi.create.modules.palettes.PatternNameType.Wrap;
import java.util.Optional; import java.util.Optional;
import java.util.function.Function; import java.util.function.Function;
import com.simibubi.create.Create;
import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType; import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;

View file

@ -2,7 +2,6 @@ package com.simibubi.create.modules.schematics.block;
import java.util.Optional; import java.util.Optional;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock; import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock.Part; import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock.Part;
@ -20,9 +19,9 @@ import net.minecraft.nbt.NBTUtil;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tags.FluidTags; import net.minecraft.tags.FluidTags;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents; import net.minecraft.util.SoundEvents;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -120,7 +119,7 @@ public abstract class LaunchedItem {
if (state.has(BlockStateProperties.WATERLOGGED)) if (state.has(BlockStateProperties.WATERLOGGED))
state = state.with(BlockStateProperties.WATERLOGGED, Boolean.FALSE); state = state.with(BlockStateProperties.WATERLOGGED, Boolean.FALSE);
if (AllBlocks.BELT.typeOf(state)) { if (AllBlocksNew.BELT.has(state)) {
world.setBlockState(target, state, 2); world.setBlockState(target, state, 2);
return; return;
} }

View file

@ -6,9 +6,6 @@ import static com.simibubi.create.ScreenResources.SCHEMATIC_TABLE_PROGRESS;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.List; import java.util.List;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager.DestFactor;
import com.mojang.blaze3d.platform.GlStateManager.SourceFactor;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.AllBlocksNew; import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.CreateClient; import com.simibubi.create.CreateClient;
@ -19,20 +16,14 @@ import com.simibubi.create.foundation.gui.widgets.IconButton;
import com.simibubi.create.foundation.gui.widgets.Label; import com.simibubi.create.foundation.gui.widgets.Label;
import com.simibubi.create.foundation.gui.widgets.ScrollInput; import com.simibubi.create.foundation.gui.widgets.ScrollInput;
import com.simibubi.create.foundation.gui.widgets.SelectionScrollInput; import com.simibubi.create.foundation.gui.widgets.SelectionScrollInput;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.modules.schematics.ClientSchematicLoader; import com.simibubi.create.modules.schematics.ClientSchematicLoader;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.IHasContainer; import net.minecraft.client.gui.IHasContainer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.PlayerContainer;
import net.minecraft.util.Util; import net.minecraft.util.Util;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.client.model.data.EmptyModelData;
public class SchematicTableScreen extends AbstractSimiContainerScreen<SchematicTableContainer> public class SchematicTableScreen extends AbstractSimiContainerScreen<SchematicTableContainer>
implements IHasContainer<SchematicTableContainer> { implements IHasContainer<SchematicTableContainer> {

View file

@ -465,10 +465,10 @@ public class SchematicannonTileEntity extends SmartTileEntity implements INamedC
ItemStack icon = requirement.isEmpty() || requiredItems.isEmpty() ? ItemStack.EMPTY : requiredItems.get(0); ItemStack icon = requirement.isEmpty() || requiredItems.isEmpty() ? ItemStack.EMPTY : requiredItems.get(0);
if (entityMode) if (entityMode)
launchEntity(target, icon, blockReader.getEntities().get(printingEntityIndex)); launchEntity(target, icon, blockReader.getEntities().get(printingEntityIndex));
else if (AllBlocks.BELT.typeOf(blockState)) { else if (AllBlocksNew.BELT.has(blockState)) {
TileEntity te = blockReader.getTileEntity(currentPos.add(schematicAnchor)); TileEntity te = blockReader.getTileEntity(currentPos.add(schematicAnchor));
blockState = stripBeltIfNotLast(blockState); blockState = stripBeltIfNotLast(blockState);
if (te instanceof BeltTileEntity && AllBlocks.BELT.typeOf(blockState)) if (te instanceof BeltTileEntity && AllBlocksNew.BELT.has(blockState))
launchBelt(target, blockState, ((BeltTileEntity) te).beltLength); launchBelt(target, blockState, ((BeltTileEntity) te).beltLength);
else else
launchBlock(target, icon, blockState); launchBlock(target, icon, blockState);

View file

@ -11,7 +11,6 @@ import com.simibubi.create.AllPackets;
import com.simibubi.create.foundation.gui.ToolSelectionScreen; import com.simibubi.create.foundation.gui.ToolSelectionScreen;
import com.simibubi.create.foundation.packet.NbtPacket; import com.simibubi.create.foundation.packet.NbtPacket;
import com.simibubi.create.foundation.utility.TessellatorHelper; import com.simibubi.create.foundation.utility.TessellatorHelper;
import com.simibubi.create.foundation.utility.outliner.AABBOutline;
import com.simibubi.create.modules.schematics.SchematicWorld; import com.simibubi.create.modules.schematics.SchematicWorld;
import com.simibubi.create.modules.schematics.client.tools.Tools; import com.simibubi.create.modules.schematics.client.tools.Tools;
import com.simibubi.create.modules.schematics.item.SchematicItem; import com.simibubi.create.modules.schematics.item.SchematicItem;

View file

@ -3,13 +3,11 @@ package com.simibubi.create.modules.schematics.client.tools;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.AllKeys; import com.simibubi.create.AllKeys;
import com.simibubi.create.AllSpecialTextures;
import com.simibubi.create.modules.schematics.client.SchematicTransformation; import com.simibubi.create.modules.schematics.client.SchematicTransformation;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTUtil; import net.minecraft.nbt.NBTUtil;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;

View file

@ -5,13 +5,10 @@ import java.util.List;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.AllKeys;
import com.simibubi.create.AllSpecialTextures;
import com.simibubi.create.CreateClient; import com.simibubi.create.CreateClient;
import com.simibubi.create.foundation.utility.RaycastHelper; import com.simibubi.create.foundation.utility.RaycastHelper;
import com.simibubi.create.foundation.utility.RaycastHelper.PredicateTraceResult; import com.simibubi.create.foundation.utility.RaycastHelper.PredicateTraceResult;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.outliner.AABBOutline;
import com.simibubi.create.modules.schematics.client.SchematicHandler; import com.simibubi.create.modules.schematics.client.SchematicHandler;
import com.simibubi.create.modules.schematics.client.SchematicTransformation; import com.simibubi.create.modules.schematics.client.SchematicTransformation;
@ -19,7 +16,6 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.ClientPlayerEntity; import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;

View file

@ -1,175 +0,0 @@
{
"variants": {
"casing=false,slope=horizontal,part=start,facing=north": { "model": "create:block/belt/horizontal_end", "x": 0, "y": 180 },
"casing=false,slope=horizontal,part=start,facing=south": { "model": "create:block/belt/horizontal_end", "x": 0, "y": 0 },
"casing=false,slope=horizontal,part=start,facing=east": { "model": "create:block/belt/horizontal_end", "x": 0, "y": 270 },
"casing=false,slope=horizontal,part=start,facing=west": { "model": "create:block/belt/horizontal_end", "x": 0, "y": 90 },
"casing=false,slope=horizontal,part=middle,facing=north": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 180 },
"casing=false,slope=horizontal,part=middle,facing=south": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 0 },
"casing=false,slope=horizontal,part=middle,facing=east": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 270 },
"casing=false,slope=horizontal,part=middle,facing=west": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 90 },
"casing=false,slope=horizontal,part=end,facing=north": { "model": "create:block/belt/horizontal_start", "x": 0, "y": 180 },
"casing=false,slope=horizontal,part=end,facing=south": { "model": "create:block/belt/horizontal_start", "x": 0, "y": 0 },
"casing=false,slope=horizontal,part=end,facing=east": { "model": "create:block/belt/horizontal_start", "x": 0, "y": 270 },
"casing=false,slope=horizontal,part=end,facing=west": { "model": "create:block/belt/horizontal_start", "x": 0, "y": 90 },
"casing=false,slope=horizontal,part=pulley,facing=north": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 180 },
"casing=false,slope=horizontal,part=pulley,facing=south": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 0 },
"casing=false,slope=horizontal,part=pulley,facing=east": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 270 },
"casing=false,slope=horizontal,part=pulley,facing=west": { "model": "create:block/belt/horizontal_middle", "x": 0, "y": 90 },
"casing=false,slope=vertical,part=end,facing=north": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 180 },
"casing=false,slope=vertical,part=end,facing=south": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 0 },
"casing=false,slope=vertical,part=end,facing=east": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 270 },
"casing=false,slope=vertical,part=end,facing=west": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 90 },
"casing=false,slope=vertical,part=middle,facing=north": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 180 },
"casing=false,slope=vertical,part=middle,facing=south": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 0 },
"casing=false,slope=vertical,part=middle,facing=east": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 270 },
"casing=false,slope=vertical,part=middle,facing=west": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 90 },
"casing=false,slope=vertical,part=start,facing=north": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 180 },
"casing=false,slope=vertical,part=start,facing=south": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 0 },
"casing=false,slope=vertical,part=start,facing=east": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 270 },
"casing=false,slope=vertical,part=start,facing=west": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 90 },
"casing=false,slope=vertical,part=pulley,facing=north": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 180 },
"casing=false,slope=vertical,part=pulley,facing=south": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 0 },
"casing=false,slope=vertical,part=pulley,facing=east": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 270 },
"casing=false,slope=vertical,part=pulley,facing=west": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 90 },
"casing=false,slope=upward,part=start,facing=north": { "model": "create:block/belt/downward_end", "x": 0, "y": 180 },
"casing=false,slope=upward,part=start,facing=south": { "model": "create:block/belt/downward_end", "x": 0, "y": 0 },
"casing=false,slope=upward,part=start,facing=east": { "model": "create:block/belt/downward_end", "x": 0, "y": 270 },
"casing=false,slope=upward,part=start,facing=west": { "model": "create:block/belt/downward_end", "x": 0, "y": 90 },
"casing=false,slope=upward,part=middle,facing=north": { "model": "create:block/belt/downward_middle", "x": 0, "y": 180 },
"casing=false,slope=upward,part=middle,facing=south": { "model": "create:block/belt/downward_middle", "x": 0, "y": 0 },
"casing=false,slope=upward,part=middle,facing=east": { "model": "create:block/belt/downward_middle", "x": 0, "y": 270 },
"casing=false,slope=upward,part=middle,facing=west": { "model": "create:block/belt/downward_middle", "x": 0, "y": 90 },
"casing=false,slope=upward,part=end,facing=north": { "model": "create:block/belt/downward_start", "x": 0, "y": 180 },
"casing=false,slope=upward,part=end,facing=south": { "model": "create:block/belt/downward_start", "x": 0, "y": 0 },
"casing=false,slope=upward,part=end,facing=east": { "model": "create:block/belt/downward_start", "x": 0, "y": 270 },
"casing=false,slope=upward,part=end,facing=west": { "model": "create:block/belt/downward_start", "x": 0, "y": 90 },
"casing=false,slope=upward,part=pulley,facing=north": { "model": "create:block/belt/downward_middle", "x": 0, "y": 180 },
"casing=false,slope=upward,part=pulley,facing=south": { "model": "create:block/belt/downward_middle", "x": 0, "y": 0 },
"casing=false,slope=upward,part=pulley,facing=east": { "model": "create:block/belt/downward_middle", "x": 0, "y": 270 },
"casing=false,slope=upward,part=pulley,facing=west": { "model": "create:block/belt/downward_middle", "x": 0, "y": 90 },
"casing=false,slope=downward,part=start,facing=north": { "model": "create:block/belt/upward_end", "x": 0, "y": 180 },
"casing=false,slope=downward,part=start,facing=south": { "model": "create:block/belt/upward_end", "x": 0, "y": 0 },
"casing=false,slope=downward,part=start,facing=east": { "model": "create:block/belt/upward_end", "x": 0, "y": 270 },
"casing=false,slope=downward,part=start,facing=west": { "model": "create:block/belt/upward_end", "x": 0, "y": 90 },
"casing=false,slope=downward,part=middle,facing=north": { "model": "create:block/belt/upward_middle", "x": 0, "y": 180 },
"casing=false,slope=downward,part=middle,facing=south": { "model": "create:block/belt/upward_middle", "x": 0, "y": 0 },
"casing=false,slope=downward,part=middle,facing=east": { "model": "create:block/belt/upward_middle", "x": 0, "y": 270 },
"casing=false,slope=downward,part=middle,facing=west": { "model": "create:block/belt/upward_middle", "x": 0, "y": 90 },
"casing=false,slope=downward,part=end,facing=north": { "model": "create:block/belt/upward_start", "x": 0, "y": 180 },
"casing=false,slope=downward,part=end,facing=south": { "model": "create:block/belt/upward_start", "x": 0, "y": 0 },
"casing=false,slope=downward,part=end,facing=east": { "model": "create:block/belt/upward_start", "x": 0, "y": 270 },
"casing=false,slope=downward,part=end,facing=west": { "model": "create:block/belt/upward_start", "x": 0, "y": 90 },
"casing=false,slope=downward,part=pulley,facing=north": { "model": "create:block/belt/upward_middle", "x": 0, "y": 180 },
"casing=false,slope=downward,part=pulley,facing=south": { "model": "create:block/belt/upward_middle", "x": 0, "y": 0 },
"casing=false,slope=downward,part=pulley,facing=east": { "model": "create:block/belt/upward_middle", "x": 0, "y": 270 },
"casing=false,slope=downward,part=pulley,facing=west": { "model": "create:block/belt/upward_middle", "x": 0, "y": 90 },
"casing=true,slope=horizontal,part=start,facing=north": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 180 },
"casing=true,slope=horizontal,part=start,facing=south": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 0 },
"casing=true,slope=horizontal,part=start,facing=east": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 270 },
"casing=true,slope=horizontal,part=start,facing=west": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 90 },
"casing=true,slope=horizontal,part=middle,facing=north": { "model": "create:block/belt/horizontal_casing", "x": 0, "y": 180 },
"casing=true,slope=horizontal,part=middle,facing=south": { "model": "create:block/belt/horizontal_casing", "x": 0, "y": 0 },
"casing=true,slope=horizontal,part=middle,facing=east": { "model": "create:block/belt/horizontal_casing", "x": 0, "y": 270 },
"casing=true,slope=horizontal,part=middle,facing=west": { "model": "create:block/belt/horizontal_casing", "x": 0, "y": 90 },
"casing=true,slope=horizontal,part=end,facing=north": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 180 },
"casing=true,slope=horizontal,part=end,facing=south": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 0 },
"casing=true,slope=horizontal,part=end,facing=east": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 270 },
"casing=true,slope=horizontal,part=end,facing=west": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 90 },
"casing=true,slope=horizontal,part=pulley,facing=north": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 180 },
"casing=true,slope=horizontal,part=pulley,facing=south": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 0 },
"casing=true,slope=horizontal,part=pulley,facing=east": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 270 },
"casing=true,slope=horizontal,part=pulley,facing=west": { "model": "create:block/belt/horizontal_casing_pulley", "x": 0, "y": 90 },
"casing=true,slope=upward,part=start,facing=north": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 0 },
"casing=true,slope=upward,part=start,facing=south": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 180 },
"casing=true,slope=upward,part=start,facing=east": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 90 },
"casing=true,slope=upward,part=start,facing=west": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 270 },
"casing=true,slope=upward,part=middle,facing=north": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 0 },
"casing=true,slope=upward,part=middle,facing=south": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 180 },
"casing=true,slope=upward,part=middle,facing=east": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 90 },
"casing=true,slope=upward,part=middle,facing=west": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 270 },
"casing=true,slope=upward,part=end,facing=north": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 180 },
"casing=true,slope=upward,part=end,facing=south": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 0 },
"casing=true,slope=upward,part=end,facing=east": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 270 },
"casing=true,slope=upward,part=end,facing=west": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 90 },
"casing=true,slope=upward,part=pulley,facing=north": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 0 },
"casing=true,slope=upward,part=pulley,facing=south": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 180 },
"casing=true,slope=upward,part=pulley,facing=east": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 90 },
"casing=true,slope=upward,part=pulley,facing=west": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 270 },
"casing=true,slope=vertical,part=end,facing=north": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 180 },
"casing=true,slope=vertical,part=end,facing=south": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 0 },
"casing=true,slope=vertical,part=end,facing=east": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 270 },
"casing=true,slope=vertical,part=end,facing=west": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 90 },
"casing=true,slope=vertical,part=middle,facing=north": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 180 },
"casing=true,slope=vertical,part=middle,facing=south": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 0 },
"casing=true,slope=vertical,part=middle,facing=east": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 270 },
"casing=true,slope=vertical,part=middle,facing=west": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 90 },
"casing=true,slope=vertical,part=start,facing=north": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 180 },
"casing=true,slope=vertical,part=start,facing=south": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 0 },
"casing=true,slope=vertical,part=start,facing=east": { "model": "create:block/belt/horizontal_end", "x": 90, "y": 270 },
"casing=true,slope=vertical,part=start,facing=west": { "model": "create:block/belt/horizontal_start", "x": 90, "y": 90 },
"casing=true,slope=vertical,part=pulley,facing=north": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 180 },
"casing=true,slope=vertical,part=pulley,facing=south": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 0 },
"casing=true,slope=vertical,part=pulley,facing=east": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 270 },
"casing=true,slope=vertical,part=pulley,facing=west": { "model": "create:block/belt/horizontal_middle", "x": 90, "y": 90 },
"casing=true,slope=downward,part=start,facing=north": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 0 },
"casing=true,slope=downward,part=start,facing=south": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 180 },
"casing=true,slope=downward,part=start,facing=east": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 90 },
"casing=true,slope=downward,part=start,facing=west": { "model": "create:block/belt/diagonal_casing_top", "x": 0, "y": 270 },
"casing=true,slope=downward,part=middle,facing=north": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 180 },
"casing=true,slope=downward,part=middle,facing=south": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 0 },
"casing=true,slope=downward,part=middle,facing=east": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 270 },
"casing=true,slope=downward,part=middle,facing=west": { "model": "create:block/belt/diagonal_casing_middle", "x": 0, "y": 90 },
"casing=true,slope=downward,part=end,facing=north": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 180 },
"casing=true,slope=downward,part=end,facing=south": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 0 },
"casing=true,slope=downward,part=end,facing=east": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 270 },
"casing=true,slope=downward,part=end,facing=west": { "model": "create:block/belt/diagonal_casing_bottom", "x": 0, "y": 90 },
"casing=true,slope=downward,part=pulley,facing=north": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 180 },
"casing=true,slope=downward,part=pulley,facing=south": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 0 },
"casing=true,slope=downward,part=pulley,facing=east": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 270 },
"casing=true,slope=downward,part=pulley,facing=west": { "model": "create:block/belt/diagonal_casing_middle_pulley", "x": 0, "y": 90 }
}
}

View file

@ -1,85 +0,0 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"particle": "create:block/brass_casing_side",
"1": "create:block/belt_support_side",
"2": "create:block/brass_casing_side",
"8": "create:block/gearbox"
},
"elements": [
{
"name": "Casing",
"from": [1.1, 4, 4],
"to": [14.9, 11, 14],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 15, 6], "texture": "#1"},
"east": {"uv": [2, 5, 12, 12], "texture": "#8"},
"south": {"uv": [0, 0, 15, 6], "texture": "#1"},
"west": {"uv": [4, 5, 14, 12], "texture": "#8"}
}
},
{
"name": "Casing",
"from": [1.1, 11, 6],
"to": [14.9, 13, 10],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [6, 3, 10, 5], "texture": "#8"},
"west": {"uv": [6, 3, 10, 5], "texture": "#8"}
}
},
{
"name": "Zfighter2",
"from": [0.5, 0.1, 15.1],
"to": [15.5, 11.1, 16.1],
"faces": {
"east": {"uv": [12, 0, 13, 10.8], "texture": "#2"},
"south": {"uv": [0, 0, 15, 10.8], "texture": "#2"},
"west": {"uv": [0, 0, 1, 10.8], "texture": "#2"},
"up": {"uv": [0, 0, 15, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 15], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Right",
"from": [0, 0, 11],
"to": [16, 11, 16],
"faces": {
"north": {"uv": [0, 0, 2, 11], "texture": "#2"},
"east": {"uv": [0, 0, 4, 11], "texture": "#2"},
"south": {"uv": [0, 0, 16, 11], "texture": "#2"},
"west": {"uv": [12, 0, 16, 11], "texture": "#2"},
"up": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"down": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Down",
"from": [0, 0, 5],
"to": [16, 5.1, 11],
"faces": {
"north": {"uv": [0, 6, 16, 11], "texture": "#2"},
"east": {"uv": [4, 5.9, 10, 11], "texture": "#2"},
"west": {"uv": [4, 5.9, 10, 11], "texture": "#2"},
"up": {"uv": [0, 2, 16, 8], "texture": "#2"},
"down": {"uv": [4, 0, 10, 16], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Top Diagonal",
"from": [-0.1, 2, -3.328],
"to": [16.1, 11, 4.697],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [7, 0, 16, 16], "rotation": 270, "texture": "#2"},
"east": {"uv": [0, 0, 8.025, 9], "texture": "#2"},
"south": {"uv": [7, 0, 16, 16], "rotation": 270, "texture": "#2"},
"west": {"uv": [0, 0, 8.025, 9], "texture": "#2"},
"up": {"uv": [0, 0, 8.025, 16], "rotation": 270, "texture": "#2"},
"down": {"uv": [0, 0, 8.025, 16], "rotation": 270, "texture": "#2"}
}
}
]
}

View file

@ -8,11 +8,11 @@
"elements": [ "elements": [
{ {
"name": "Top", "name": "Top",
"from": [ 1.0, 11.0, 1.0 ], "from": [ 1.0, 11.0, 9.2 ],
"to": [ 15.0, 13.0, 6.8 ], "to": [ 15.0, 13.0, 15.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 7.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 7.0 ], "rotation": 270 },
"south": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 7.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 7.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ] } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ] }
@ -20,53 +20,53 @@
}, },
{ {
"name": "Bottom", "name": "Bottom",
"from": [ 1.0, 3.0, 1.0 ], "from": [ 1.0, 3.0, 5.9 ],
"to": [ 15.0, 5.0, 10.1 ], "to": [ 15.0, 5.0, 15.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 15.0 ], "rotation": 90 },
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 10.0 ], "rotation": 90 }, "south": { "texture": "#0", "uv": [ 1.0, 5.0, 15.0, 3.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 10.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 15.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ], "rotation": 180 }
} }
}, },
{ {
"name": "Side", "name": "Side",
"from": [ 1.0, 4.0, 0.0 ], "from": [ 1.0, 4.0, 14.0 ],
"to": [ 15.0, 12.0, 2.0 ], "to": [ 15.0, 12.0, 16.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] }, "east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ], "rotation": 180 },
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] }, "south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ] }, "west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ], "rotation": 180 },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] }
} }
}, },
{ {
"name": "Top Diagonal", "name": "Top Diagonal",
"from": [ 1.0, 11.0, 9.2 ], "from": [ 1.0, 11.0, -3.325 ],
"to": [ 15.0, 13.0, 19.325 ], "to": [ 15.0, 13.0, 6.7 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 16.0 ], "rotation": 270 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 10.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 16.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 5.8, 15.0, 16.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ] } "down": { "texture": "#0", "uv": [ 1.0, 5.8, 15.0, 16.0 ] }
} }
}, },
{ {
"name": "Bottom Diagonal", "name": "Bottom Diagonal",
"from": [ 1.0, 3.0, 5.9 ], "from": [ 1.0, 3.0, -3.325 ],
"to": [ 15.0, 5.0, 19.325 ], "to": [ 15.0, 5.0, 10.1 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 13.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 3.0, 16.0, 16.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 13.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ], "rotation": 180 }
} }
} }
] ]

View file

@ -10,7 +10,7 @@
"name": "Bottom Diagonal", "name": "Bottom Diagonal",
"from": [ 1.0, 3.0, -3.325 ], "from": [ 1.0, 3.0, -3.325 ],
"to": [ 15.0, 5.0, 6.6 ], "to": [ 15.0, 5.0, 6.6 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 90 },
@ -23,7 +23,7 @@
"name": "Top Diagonal", "name": "Top Diagonal",
"from": [ 1.0, 11.0, -3.325 ], "from": [ 1.0, 11.0, -3.325 ],
"to": [ 15.0, 13.0, 10.0 ], "to": [ 15.0, 13.0, 10.0 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 270 },
@ -34,9 +34,9 @@
}, },
{ {
"name": "Top Diagonal First", "name": "Top Diagonal First",
"from": [ 1.0, 11.0, 9.98 ], "from": [ 1.0, 11.0, 10.0 ],
"to": [ 15.0, 13.0, 19.3 ], "to": [ 15.0, 13.0, 19.3 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 270 },
@ -47,9 +47,9 @@
}, },
{ {
"name": "Bottom Diagonal First", "name": "Bottom Diagonal First",
"from": [ 1.0, 3.0, 6.58 ], "from": [ 1.0, 3.0, 6.6 ],
"to": [ 15.0, 5.0, 19.3 ], "to": [ 15.0, 5.0, 19.3 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 90 },

View file

@ -8,65 +8,65 @@
"elements": [ "elements": [
{ {
"name": "Bottom", "name": "Bottom",
"from": [ 1.0, 3.0, 9.2 ], "from": [ 1.0, 3.0, 1.0 ],
"to": [ 15.0, 5.0, 15.0 ], "to": [ 15.0, 5.0, 6.8 ],
"faces": { "faces": {
"east": { "texture": "#0", "uv": [ 0.0, 9.0, 2.0, 15.0 ], "rotation": 90 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"south": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 7.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 9.0, 16.0, 15.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 7.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 9.0, 15.0, 14.8 ] }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ] },
"down": { "texture": "#0", "uv": [ 1.0, 9.0, 15.0, 14.8 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ], "rotation": 180 }
} }
}, },
{ {
"name": "Top", "name": "Top",
"from": [ 1.0, 11.0, 5.9 ], "from": [ 1.0, 11.0, 1.0 ],
"to": [ 15.0, 13.0, 15.0 ], "to": [ 15.0, 13.0, 10.1 ],
"faces": { "faces": {
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 10.0 ], "rotation": 270 }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"south": { "texture": "#0", "uv": [ 1.0, 13.0, 15.0, 11.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 15.0 ], "rotation": 270 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 10.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 15.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ] }
} }
}, },
{ {
"name": "Side", "name": "Side",
"from": [ 1.0, 4.0, 14.0 ], "from": [ 1.0, 4.0, 0.0 ],
"to": [ 15.0, 12.0, 16.0 ], "to": [ 15.0, 12.0, 2.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] },
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 }, "south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ], "rotation": 180 }, "west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ] },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }
} }
}, },
{ {
"name": "Bottom Diagonal", "name": "Bottom Diagonal",
"from": [ 1.0, 3.0, -3.328 ], "from": [ 1.0, 3.0, 9.2 ],
"to": [ 15.0, 5.0, 6.75 ], "to": [ 15.0, 5.0, 19.3 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 11.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 10.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 11.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.1 ] }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 11.1 ] },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 11.1 ], "rotation": 180 }
} }
}, },
{ {
"name": "Top Diagonal", "name": "Top Diagonal",
"from": [ 1.0, 11.0, -3.328 ], "from": [ 1.0, 11.0, 5.9 ],
"to": [ 15.0, 13.0, 10.1 ], "to": [ 15.0, 13.0, 19.3 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 13.0 ], "rotation": 270 },
"west": { "texture": "#0", "uv": [ 14.0, 3.0, 16.0, 16.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 13.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ] }
} }
} }
] ]

View file

@ -1,46 +1,46 @@
{ {
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)", "credit": "Made with Blockbench",
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"particle": "create:block/belt", "0": "create:block/belt",
"0": "create:block/belt" "particle": "create:block/belt"
}, },
"elements": [ "elements": [
{ {
"name": "Bottom", "name": "Bottom",
"from": [ 1.0, 3.0, 1.0 ], "from": [1, 3, 0],
"to": [ 15.0, 5.0, 16.0 ], "to": [15, 5, 15],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "east": {"uv": [0, 0, 2, 15], "rotation": 90, "texture": "#0"},
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 16.0 ], "rotation": 90 }, "south": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"},
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 16.0 ], "rotation": 270 }, "west": {"uv": [14, 0, 16, 15], "rotation": 270, "texture": "#0"},
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ] }, "up": {"uv": [1, 0, 15, 15], "texture": "#0"},
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ], "rotation": 180 } "down": {"uv": [1, 0, 15, 15], "rotation": 180, "texture": "#0"}
} }
}, },
{ {
"name": "Top", "name": "Top",
"from": [ 1.0, 11.0, 1.0 ], "from": [1, 11, 0],
"to": [ 15.0, 13.0, 16.0 ], "to": [15, 13, 15],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "east": {"uv": [0, 1, 2, 16], "rotation": 270, "texture": "#0"},
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 16.0 ], "rotation": 270 }, "south": {"uv": [1, 5, 15, 3], "texture": "#0"},
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 16.0 ], "rotation": 90 }, "west": {"uv": [14, 1, 16, 16], "rotation": 90, "texture": "#0"},
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 15.0 ], "rotation": 180 }, "up": {"uv": [1, 1, 15, 16], "rotation": 180, "texture": "#0"},
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ] } "down": {"uv": [1, 1, 15, 16], "texture": "#0"}
} }
}, },
{ {
"name": "Side", "name": "Side",
"from": [ 1.0, 4.0, 0.0 ], "from": [1, 4, 14],
"to": [ 15.0, 12.0, 2.0 ], "to": [15, 12, 16],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] }, "north": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"},
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] }, "east": {"uv": [0, 4, 2, 12], "rotation": 180, "texture": "#0"},
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] }, "south": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"},
"west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ] }, "west": {"uv": [14, 4, 16, 12], "rotation": 180, "texture": "#0"},
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 }, "up": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"},
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 } "down": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}
} }
} }
] ]

View file

@ -8,37 +8,37 @@
"elements": [ "elements": [
{ {
"name": "Bottom", "name": "Bottom",
"from": [ 1.0, 3.0, 0.0 ], "from": [ 1.0, 3.0, 1.0 ],
"to": [ 15.0, 5.0, 15.0 ], "to": [ 15.0, 5.0, 16.0 ],
"faces": { "faces": {
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 15.0 ], "rotation": 90 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"south": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 16.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 15.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 16.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 15.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 15.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ], "rotation": 180 }
} }
}, },
{ {
"name": "Top", "name": "Top",
"from": [ 1.0, 11.0, 0.0 ], "from": [ 1.0, 11.0, 1.0 ],
"to": [ 15.0, 13.0, 15.0 ], "to": [ 15.0, 13.0, 16.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 16.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 16.0 ], "rotation": 270 },
"south": { "texture": "#0", "uv": [ 1.0, 5.0, 15.0, 3.0 ] },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 16.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 16.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 15.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 16.0 ] }
} }
}, },
{ {
"name": "Side", "name": "Side",
"from": [ 1.0, 4.0, 14.0 ], "from": [ 1.0, 4.0, 0.0 ],
"to": [ 15.0, 12.0, 16.0 ], "to": [ 15.0, 12.0, 2.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] },
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 }, "south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ], "rotation": 180 }, "west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ] },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }
} }

View file

@ -8,65 +8,65 @@
"elements": [ "elements": [
{ {
"name": "Bottom", "name": "Bottom",
"from": [ 1.0, 3.0, 1.0 ], "from": [ 1.0, 3.0, 9.2 ],
"to": [ 15.0, 5.0, 6.8 ], "to": [ 15.0, 5.0, 15.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 9.0, 2.0, 15.0 ], "rotation": 90 },
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 7.0 ], "rotation": 90 }, "south": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 7.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 9.0, 16.0, 15.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ] }, "up": { "texture": "#0", "uv": [ 1.0, 9.0, 15.0, 14.8 ] },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 9.0, 15.0, 14.8 ], "rotation": 180 }
} }
}, },
{ {
"name": "Top", "name": "Top",
"from": [ 1.0, 11.0, 1.0 ], "from": [ 1.0, 11.0, 5.9 ],
"to": [ 15.0, 13.0, 10.1 ], "to": [ 15.0, 13.0, 15.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 10.0 ], "rotation": 270 },
"east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 15.0 ], "rotation": 270 }, "south": { "texture": "#0", "uv": [ 1.0, 13.0, 15.0, 11.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 15.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 10.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ] }
} }
}, },
{ {
"name": "Side", "name": "Side",
"from": [ 1.0, 4.0, 0.0 ], "from": [ 1.0, 4.0, 14.0 ],
"to": [ 15.0, 12.0, 2.0 ], "to": [ 15.0, 12.0, 16.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] }, "east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ], "rotation": 180 },
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] }, "south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ] }, "west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ], "rotation": 180 },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] }
} }
}, },
{ {
"name": "Bottom Diagonal", "name": "Bottom Diagonal",
"from": [ 1.0, 3.0, 9.2 ], "from": [ 1.0, 3.0, -3.328 ],
"to": [ 15.0, 5.0, 19.3 ], "to": [ 15.0, 5.0, 6.75 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 11.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 11.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 10.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 11.1 ] }, "up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.1 ] },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 11.1 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ], "rotation": 180 }
} }
}, },
{ {
"name": "Top Diagonal", "name": "Top Diagonal",
"from": [ 1.0, 11.0, 5.9 ], "from": [ 1.0, 11.0, -3.328 ],
"to": [ 15.0, 13.0, 19.3 ], "to": [ 15.0, 13.0, 10.1 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 13.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 270 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 13.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 3.0, 16.0, 16.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ] }
} }
} }
] ]

View file

@ -10,7 +10,7 @@
"name": "Bottom Diagonal", "name": "Bottom Diagonal",
"from": [ 1.0, 3.0, -3.325 ], "from": [ 1.0, 3.0, -3.325 ],
"to": [ 15.0, 5.0, 6.6 ], "to": [ 15.0, 5.0, 6.6 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 90 },
@ -23,7 +23,7 @@
"name": "Top Diagonal", "name": "Top Diagonal",
"from": [ 1.0, 11.0, -3.325 ], "from": [ 1.0, 11.0, -3.325 ],
"to": [ 15.0, 13.0, 10.0 ], "to": [ 15.0, 13.0, 10.0 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 270 },
@ -34,9 +34,9 @@
}, },
{ {
"name": "Top Diagonal First", "name": "Top Diagonal First",
"from": [ 1.0, 11.0, 10.0 ], "from": [ 1.0, 11.0, 9.98 ],
"to": [ 15.0, 13.0, 19.3 ], "to": [ 15.0, 13.0, 19.3 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 270 },
@ -47,9 +47,9 @@
}, },
{ {
"name": "Bottom Diagonal First", "name": "Bottom Diagonal First",
"from": [ 1.0, 3.0, 6.6 ], "from": [ 1.0, 3.0, 6.58 ],
"to": [ 15.0, 5.0, 19.3 ], "to": [ 15.0, 5.0, 19.3 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 90 },

View file

@ -8,11 +8,11 @@
"elements": [ "elements": [
{ {
"name": "Top", "name": "Top",
"from": [ 1.0, 11.0, 9.2 ], "from": [ 1.0, 11.0, 1.0 ],
"to": [ 15.0, 13.0, 15.0 ], "to": [ 15.0, 13.0, 6.8 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 7.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 7.0 ], "rotation": 270 },
"south": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 7.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 7.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ] } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 6.8 ] }
@ -20,53 +20,53 @@
}, },
{ {
"name": "Bottom", "name": "Bottom",
"from": [ 1.0, 3.0, 5.9 ], "from": [ 1.0, 3.0, 1.0 ],
"to": [ 15.0, 5.0, 15.0 ], "to": [ 15.0, 5.0, 10.1 ],
"faces": { "faces": {
"east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 15.0 ], "rotation": 90 }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"south": { "texture": "#0", "uv": [ 1.0, 5.0, 15.0, 3.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 1.0, 2.0, 10.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 15.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 10.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ], "rotation": 180 }
} }
}, },
{ {
"name": "Side", "name": "Side",
"from": [ 1.0, 4.0, 14.0 ], "from": [ 1.0, 4.0, 0.0 ],
"to": [ 15.0, 12.0, 16.0 ], "to": [ 15.0, 12.0, 2.0 ],
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ], "rotation": 180 }, "east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] },
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ], "rotation": 180 }, "south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ], "rotation": 180 }, "west": { "texture": "#0", "uv": [ 14.0, 4.0, 16.0, 12.0 ] },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }
} }
}, },
{ {
"name": "Top Diagonal", "name": "Top Diagonal",
"from": [ 1.0, 11.0, -3.325 ], "from": [ 1.0, 11.0, 9.2 ],
"to": [ 15.0, 13.0, 6.7 ], "to": [ 15.0, 13.0, 19.325 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }, "north": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 },
"east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 16.0 ], "rotation": 270 }, "east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 10.0 ], "rotation": 270 },
"west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 16.0 ], "rotation": 90 }, "west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 10.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 5.8, 15.0, 16.0 ], "rotation": 180 }, "up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 5.8, 15.0, 16.0 ] } "down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ] }
} }
}, },
{ {
"name": "Bottom Diagonal", "name": "Bottom Diagonal",
"from": [ 1.0, 3.0, -3.325 ], "from": [ 1.0, 3.0, 5.9 ],
"to": [ 15.0, 5.0, 10.1 ], "to": [ 15.0, 5.0, 19.325 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 }, "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"faces": { "faces": {
"north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] }, "north": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 5.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 13.0 ], "rotation": 90 }, "east": { "texture": "#0", "uv": [ 0.0, 3.0, 2.0, 16.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 13.0 ], "rotation": 270 }, "west": { "texture": "#0", "uv": [ 14.0, 3.0, 16.0, 16.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ], "rotation": 180 } "down": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ], "rotation": 180 }
} }
} }
] ]

View file

@ -0,0 +1,85 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"1": "create:block/belt_support_side",
"2": "create:block/brass_casing_side",
"8": "create:block/gearbox",
"particle": "create:block/brass_casing_side"
},
"elements": [
{
"name": "Casing",
"from": [1.1, 4, 2],
"to": [14.9, 11, 12],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 15, 6], "texture": "#1"},
"east": {"uv": [4, 5, 14, 12], "texture": "#8"},
"south": {"uv": [0, 0, 15, 6], "texture": "#1"},
"west": {"uv": [2, 5, 12, 12], "texture": "#8"}
}
},
{
"name": "Casing",
"from": [1.1, 11, 6],
"to": [14.9, 13, 10],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [6, 3, 10, 5], "texture": "#8"},
"west": {"uv": [6, 3, 10, 5], "texture": "#8"}
}
},
{
"name": "Zfighter2",
"from": [0.5, 0.1, -0.1],
"to": [15.5, 11.1, 0.9],
"faces": {
"north": {"uv": [0, 0, 15, 10.8], "texture": "#2"},
"east": {"uv": [0, 0, 1, 10.8], "texture": "#2"},
"west": {"uv": [12, 0, 13, 10.8], "texture": "#2"},
"up": {"uv": [0, 0, 15, 1], "rotation": 180, "texture": "#2"},
"down": {"uv": [0, 0, 1, 15], "rotation": 270, "texture": "#2"}
}
},
{
"name": "Right",
"from": [0, 0, 0],
"to": [16, 11, 5],
"faces": {
"north": {"uv": [0, 0, 16, 11], "texture": "#2"},
"east": {"uv": [12, 0, 16, 11], "texture": "#2"},
"south": {"uv": [0, 0, 2, 11], "texture": "#2"},
"west": {"uv": [0, 0, 4, 11], "texture": "#2"},
"up": {"uv": [12, 0, 16, 16], "rotation": 270, "texture": "#2"},
"down": {"uv": [12, 0, 16, 16], "rotation": 270, "texture": "#2"}
}
},
{
"name": "Down",
"from": [0, 0, 5],
"to": [16, 5.1, 11],
"faces": {
"east": {"uv": [4, 5.9, 10, 11], "texture": "#2"},
"south": {"uv": [0, 6, 16, 11], "texture": "#2"},
"west": {"uv": [4, 5.9, 10, 11], "texture": "#2"},
"up": {"uv": [0, 2, 16, 8], "rotation": 180, "texture": "#2"},
"down": {"uv": [4, 0, 10, 16], "rotation": 270, "texture": "#2"}
}
},
{
"name": "Top Diagonal",
"from": [-0.1, 2, 11.303],
"to": [16.1, 11, 19.328],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [7, 0, 16, 16], "rotation": 270, "texture": "#2"},
"east": {"uv": [0, 0, 8.025, 9], "texture": "#2"},
"south": {"uv": [7, 0, 16, 16], "rotation": 270, "texture": "#2"},
"west": {"uv": [0, 0, 8.025, 9], "texture": "#2"},
"up": {"uv": [0, 0, 8.025, 16], "rotation": 90, "texture": "#2"},
"down": {"uv": [0, 0, 8.025, 16], "rotation": 90, "texture": "#2"}
}
}
]
}

View file

@ -0,0 +1,84 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"particle": "create:block/brass_casing_side",
"1": "create:block/belt_support_side",
"2": "create:block/brass_casing_side",
"8": "create:block/gearbox"
},
"elements": [
{
"name": "Casing",
"from": [1, 5, 2],
"to": [15, 11, 14],
"faces": {
"north": {"uv": [0, 0, 15, 6], "texture": "#1"},
"east": {"uv": [2, 5, 14, 11], "texture": "#8"},
"south": {"uv": [0, 0, 15, 6], "texture": "#1"},
"west": {"uv": [2, 5, 14, 11], "texture": "#8"}
}
},
{
"name": "Left",
"from": [0, 0, 0],
"to": [16, 11, 4],
"faces": {
"north": {"uv": [0, 0, 16, 11], "texture": "#2"},
"east": {"uv": [12, 0, 16, 11], "texture": "#2"},
"south": {"uv": [14, 0, 16, 11], "texture": "#2"},
"west": {"uv": [0, 0, 4, 11], "texture": "#2"},
"up": {"uv": [0, 0, 4, 16], "rotation": 90, "texture": "#2"},
"down": {"uv": [0, 0, 4, 16], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Zfighter",
"from": [0.5, 0.1, -0.1],
"to": [15.5, 10.9, 0.9],
"faces": {
"north": {"uv": [0, 0, 15, 10.8], "texture": "#2"},
"east": {"uv": [12, 0, 13, 10.8], "texture": "#2"},
"west": {"uv": [0, 0, 1, 10.8], "texture": "#2"},
"up": {"uv": [0, 0, 15, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 15], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Zfighter2",
"from": [0.5, 0.1, 15.1],
"to": [15.5, 10.9, 16.1],
"faces": {
"east": {"uv": [12, 0, 13, 10.8], "texture": "#2"},
"south": {"uv": [0, 0, 15, 10.8], "texture": "#2"},
"west": {"uv": [0, 0, 1, 10.8], "texture": "#2"},
"up": {"uv": [0, 0, 15, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 15], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Right",
"from": [0, 0, 12],
"to": [16, 11, 16],
"faces": {
"north": {"uv": [0, 0, 2, 11], "texture": "#2"},
"east": {"uv": [0, 0, 4, 11], "texture": "#2"},
"south": {"uv": [0, 0, 16, 11], "texture": "#2"},
"west": {"uv": [12, 0, 16, 11], "texture": "#2"},
"up": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"down": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Down",
"from": [0, 0, 4],
"to": [16, 4, 12],
"faces": {
"east": {"uv": [4, 7, 12, 11], "texture": "#2"},
"west": {"uv": [4, 7, 12, 11], "texture": "#2"},
"up": {"uv": [0, 2, 16, 10], "texture": "#2"},
"down": {"uv": [4, 0, 12, 16], "rotation": 90, "texture": "#2"}
}
}
]
}

View file

@ -0,0 +1,84 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"particle": "create:block/brass_casing_side",
"1": "create:block/belt_support_side",
"2": "create:block/brass_casing_side",
"8": "create:block/gearbox"
},
"elements": [
{
"name": "Casing",
"from": [1, 5, 2],
"to": [15, 11, 14],
"faces": {
"north": {"uv": [0, 0, 15, 6], "texture": "#1"},
"east": {"uv": [2, 5, 14, 11], "texture": "#8"},
"south": {"uv": [0, 0, 15, 6], "texture": "#1"},
"west": {"uv": [2, 5, 14, 11], "texture": "#8"}
}
},
{
"name": "Left",
"from": [0, 0, 0],
"to": [16, 11, 4],
"faces": {
"north": {"uv": [0, 0, 16, 11], "texture": "#2"},
"east": {"uv": [12, 0, 16, 11], "texture": "#2"},
"south": {"uv": [14, 0, 16, 11], "texture": "#2"},
"west": {"uv": [0, 0, 4, 11], "texture": "#2"},
"up": {"uv": [0, 0, 4, 16], "rotation": 90, "texture": "#2"},
"down": {"uv": [0, 0, 4, 16], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Zfighter",
"from": [0.5, 0.1, -0.1],
"to": [15.5, 10.9, 0.9],
"faces": {
"north": {"uv": [0, 0, 15, 10.8], "texture": "#2"},
"east": {"uv": [12, 0, 13, 10.8], "texture": "#2"},
"west": {"uv": [0, 0, 1, 10.8], "texture": "#2"},
"up": {"uv": [0, 0, 15, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 15], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Zfighter2",
"from": [0.5, 0.1, 15.1],
"to": [15.5, 10.9, 16.1],
"faces": {
"east": {"uv": [12, 0, 13, 10.8], "texture": "#2"},
"south": {"uv": [0, 0, 15, 10.8], "texture": "#2"},
"west": {"uv": [0, 0, 1, 10.8], "texture": "#2"},
"up": {"uv": [0, 0, 15, 1], "texture": "#2"},
"down": {"uv": [0, 0, 1, 15], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Right",
"from": [0, 0, 12],
"to": [16, 11, 16],
"faces": {
"north": {"uv": [0, 0, 2, 11], "texture": "#2"},
"east": {"uv": [0, 0, 4, 11], "texture": "#2"},
"south": {"uv": [0, 0, 16, 11], "texture": "#2"},
"west": {"uv": [12, 0, 16, 11], "texture": "#2"},
"up": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"},
"down": {"uv": [12, 0, 16, 16], "rotation": 90, "texture": "#2"}
}
},
{
"name": "Down",
"from": [0, 0, 4],
"to": [16, 4, 12],
"faces": {
"east": {"uv": [4, 7, 12, 11], "texture": "#2"},
"west": {"uv": [4, 7, 12, 11], "texture": "#2"},
"up": {"uv": [0, 2, 16, 10], "texture": "#2"},
"down": {"uv": [4, 0, 12, 16], "rotation": 90, "texture": "#2"}
}
}
]
}

View file

@ -0,0 +1,5 @@
{
"_comment": "Vertical belts cannot have casings at the moment",
"textures": {},
"elements": []
}

View file

@ -0,0 +1,5 @@
{
"_comment": "Vertical belts cannot have casings at the moment",
"textures": {},
"elements": []
}

View file

@ -0,0 +1,5 @@
{
"_comment": "Vertical belts cannot have casings at the moment",
"textures": {},
"elements": []
}

View file

@ -0,0 +1,5 @@
{
"_comment": "Vertical belts cannot have casings at the moment",
"textures": {},
"elements": []
}