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
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets\create\blockstates\andesite_cobblestone_wall.json
9210df936a886dc4727deec204f06359dd1f14e9 assets\create\blockstates\andesite_pillar.json
96a4fae5883eda130f8ec1a57d34534f6d0793c4 assets\create\blockstates\belt.json
cf9045eb16e5299a1d917c4cb536289f49411276 assets\create\blockstates\birch_window.json
94a1a91403eb4b035fec48071e7fcae57a8a6abd assets\create\blockstates\birch_window_pane.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
3355a852cdc717e257ca19b3db836068964733e3 assets\create\blockstates\copper_ore.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
50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets\create\blockstates\dark_oak_window_pane.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
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
8ae19fa33cb60bde40f4d00e77c15fcc4fab72ea assets\create\lang\en_ud.json
b152dfe5a4402988dc53481e0b867ba108630856 assets\create\lang\en_us.json
d013d73098481a23a125ddddae232fe74a2c951d assets\create\lang\en_ud.json
ebefb80bc3f6e70ee7ba6ed20c614b10c9187a3b assets\create\lang\en_us.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
@ -1077,6 +1078,7 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data\create\loot_tables\blocks\andesite
36d38c085d8e522fe15f0ef9bc64363e163f3de7 data\create\loot_tables\blocks\andesite_cobblestone_wall.json
6908f62c809ea2105bc92765d84d5655197346ab data\create\loot_tables\blocks\andesite_pillar.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
f2acadb49cac3aa6347cae606536cbbde89f0a5f data\create\loot_tables\blocks\belt_tunnel.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": {
"facing=down": {
"model": "create:block/creative_motor/block_vertical",
"x": 180,
"y": 270
"x": 180
},
"facing=up": {
"model": "create:block/creative_motor/block_vertical",
"y": 270
"model": "create:block/creative_motor/block_vertical"
},
"facing=north": {
"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_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.belt": "\u0287\u05DF\u01DD\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.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_wall": "Andesite Cobblestone Wall",
"block.create.andesite_pillar": "Andesite Pillar",
"block.create.belt": "Belt",
"block.create.birch_window": "Birch Window",
"block.create.birch_window_pane": "Birch Window Pane",
"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.relays.advanced.SpeedControllerBlock;
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.logistics.block.RedstoneLinkBlock;
import com.simibubi.create.modules.logistics.block.StockswitchBlock;
@ -106,7 +105,7 @@ public enum AllBlocks implements NonNullSupplier<Block> {
// ENCASED_BELT(EncasedBeltBlock::new),
// ADJUSTABLE_PULLEY(AdjustablePulleyBlock::new),
BELT(BeltBlock::new, ComesWith.NO_BLOCKITEM),
// BELT(BeltBlock::new, ComesWith.NO_BLOCKITEM),
// CREATIVE_MOTOR(MotorBlock::new),
WATER_WHEEL(WaterWheelBlock::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.modules.Sections.SCHEMATICS;
import com.simibubi.create.config.StressConfigDefaults;
import com.simibubi.create.foundation.registrate.CreateRegistrate;
import com.simibubi.create.foundation.utility.data.AssetLookup;
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.contraptions.components.motor.MotorBlock;
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.CogwheelBlockItem;
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.Blocks;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.tags.BlockTags;
@ -47,7 +51,7 @@ public class AllBlocksNew {
.itemGroup(() -> Create.baseCreativeTab);
// Schematics
static {
REGISTRATE.startSection(SCHEMATICS);
}
@ -70,7 +74,7 @@ public class AllBlocksNew {
.register();
// Kinetics
static {
REGISTRATE.startSection(Sections.KINETICS);
}
@ -156,16 +160,23 @@ public class AllBlocksNew {
.build()
.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)
.initialProperties(SharedProperties::kinetic)
.blockstate(new MotorGenerator()::generate)
.transform(StressConfigDefaults.setCapacity(16384.0))
.item()
.model(AssetLookup::customItemModel)
.build()
.register();
// Materials
static {
REGISTRATE.startSection(Sections.MATERIALS);
}

View file

@ -121,7 +121,7 @@ public enum AllTileEntities {
HAND_CRANK(HandCrankTileEntity::new, AllBlocks.HAND_CRANK),
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),
MECHANICAL_PISTON(MechanicalPistonTileEntity::new, AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON),
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.Blocks;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.material.PushReaction;
public class SharedProperties {
static Material beltMaterial =
new Material(MaterialColor.GRAY, false, true, true, true, true, false, false, PushReaction.NORMAL);
static Block kinetic() {
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.components.flywheel.engine.EngineBlock;
import net.minecraft.block.Block;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.common.ForgeConfigSpec.Builder;
@ -15,36 +16,63 @@ import net.minecraftforge.common.ForgeConfigSpec.ConfigValue;
public class CStress extends ConfigBase {
public Map<ResourceLocation, ConfigValue<Double>> capacities = new HashMap<>();
public Map<ResourceLocation, ConfigValue<Double>> impacts = new HashMap<>();
private Map<ResourceLocation, ConfigValue<Double>> capacities = new HashMap<>();
private Map<ResourceLocation, ConfigValue<Double>> impacts = new HashMap<>();
@Override
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())
if (block.get() instanceof KineticBlock)
initStressEntry(block, builder);
//
StressConfigDefaults.registeredDefaultImpacts.forEach((r, i) -> getImpacts().put(r, builder.define(r.getPath(), i)));
builder.pop();
builder.comment("", Comments.su, Comments.capacity).push("capacity");
builder.comment("", Comments.su, Comments.capacity)
.push("capacity");
// old
for (AllBlocks block : AllBlocks.values())
if (block.get() instanceof KineticBlock || block.get() instanceof EngineBlock)
initStressCapacityEntry(block, builder);
//
StressConfigDefaults.registeredDefaultCapacities
.forEach((r, i) -> getCapacities().put(r, builder.define(r.getPath(), i)));
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) {
String name = Lang.asId(block.name());
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) {
double defaultStressCapacity = StressConfigDefaults.getDefaultStressCapacity(block);
if (defaultStressCapacity == -1)
return;
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
@ -52,6 +80,14 @@ public class CStress extends ConfigBase {
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 {
static String su = "[in Stress Units]";
static String impact =

View file

@ -1,19 +1,47 @@
package com.simibubi.create.config;
import java.util.HashMap;
import java.util.Map;
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 {
/**
* Increment this number if all stress entries should be updated in this update.
* Worlds from the previous version will overwrite potentially changed values with the new defaults.
* 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.
*/
public static final int forcedUpdateVersion = 1;
public static double getDefaultStressCapacity(AllBlocks block) {
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) {
switch (block) {
// case CREATIVE_MOTOR: TODO add a builder transform to register default capacities
// case CREATIVE_MOTOR:
// return 2048;
case FURNACE_ENGINE:
return 1024;
@ -29,20 +57,21 @@ public class StressConfigDefaults {
}
}
@Deprecated
public static double getDefaultStressImpact(AllBlocks block) {
switch (block) {
case CRUSHING_WHEEL:
case MECHANICAL_PRESS:
return 8;
case DRILL:
case SAW:
case DEPLOYER:
case MECHANICAL_MIXER:
case MILLSTONE:
return 4;
case MECHANICAL_CRAFTER:
case TURNTABLE:
case MECHANICAL_PISTON:
@ -51,12 +80,12 @@ public class StressConfigDefaults {
case ROPE_PULLEY:
case STICKY_MECHANICAL_PISTON:
return 2;
case BELT:
// case BELT:
case ENCASED_FAN:
case CUCKOO_CLOCK:
return 1;
default:
return 0;
}

View file

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

View file

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

View file

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

View file

@ -18,6 +18,7 @@ import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.NBTHelper;
@ -172,7 +173,7 @@ public abstract class Contraption {
if (AllBlocks.FLEXCRATE.typeOf(state))
FlexcrateBlock.splitCrate(world, pos);
if (AllBlocks.BELT.typeOf(state)) {
if (AllBlocksNew.BELT.has(state)) {
BlockPos nextPos = BeltBlock.nextSegmentPosition(state, pos, true);
BlockPos prevPos = BeltBlock.nextSegmentPosition(state, pos, false);
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.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.VecHelper;
import com.simibubi.create.modules.contraptions.base.DirectionalAxisKineticBlock;
@ -146,7 +146,7 @@ public class StructureTransform {
return state;
}
if (AllBlocks.BELT.typeOf(state)) {
if (AllBlocksNew.BELT.has(state)) {
if (state.get(BeltBlock.HORIZONTAL_FACING).getAxis() != rotationAxis) {
for (int i = 0; i < rotation.ordinal(); i++) {
Slope slope = state.get(BeltBlock.SLOPE);

View file

@ -9,6 +9,7 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
import com.simibubi.create.foundation.behaviour.inventory.InsertingBehaviour;
@ -309,7 +310,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity {
protected boolean isTargetingBelt() {
BlockPos targetPos = pos.offset(getTargetFacing());
if (!AllBlocks.BELT.typeOf(world.getBlockState(targetPos)))
if (!AllBlocksNew.BELT.has(world.getBlockState(targetPos)))
return false;
TileEntity te = world.getTileEntity(targetPos);
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.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.util.ResourceLocation;
public class FurnaceEngineTileEntity extends EngineTileEntity {
@ -29,9 +28,9 @@ public class FurnaceEngineTileEntity extends EngineTileEntity {
float modifier = state.getBlock() == Blocks.BLAST_FURNACE ? 2 : 1;
boolean active = state.has(AbstractFurnaceBlock.LIT) && state.get(AbstractFurnaceBlock.LIT);
float speed = active ? 16 * modifier : 0;
ResourceLocation registryName = AllBlocks.FURNACE_ENGINE.get().getRegistryName();
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;
appliedSpeed = speed;

View file

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Optional;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.item.ItemHelper;
import com.simibubi.create.foundation.utility.AllShapes;
@ -124,7 +125,7 @@ public class MechanicalPressBlock extends HorizontalKineticBlock
@Override
public boolean isAttachedCorrectly(IWorld world, BlockPos attachmentPos, BlockPos beltPos,
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

View file

@ -9,6 +9,7 @@ import java.util.Random;
import java.util.stream.Collectors;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllRecipes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
@ -149,7 +150,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
// Try moving items onto the belt
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);
if (te != null && te instanceof BeltTileEntity) {
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 BooleanProperty CASING = BooleanProperty.create("casing");
public BeltBlock() {
super(Properties.from(Blocks.BROWN_WOOL).noDrops());
public BeltBlock(Properties properties) {
super(properties);
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 beltPos = null;
if (AllBlocks.BELT.typeOf(worldIn.getBlockState(entityPosition)))
if (AllBlocksNew.BELT.has(worldIn.getBlockState(entityPosition)))
beltPos = entityPosition;
else if (AllBlocks.BELT.typeOf(worldIn.getBlockState(entityPosition.down())))
else if (AllBlocksNew.BELT.has(worldIn.getBlockState(entityPosition.down())))
beltPos = entityPosition.down();
if (beltPos == null)
return;
@ -415,14 +415,14 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
return;
BlockState state = world.getBlockState(pos);
if (!AllBlocks.BELT.typeOf(state))
if (!AllBlocksNew.BELT.has(state))
return;
// Find controller
int limit = 1000;
BlockPos currentPos = pos;
while (limit-- > 0) {
BlockState currentState = world.getBlockState(currentPos);
if (!AllBlocks.BELT.typeOf(currentState)) {
if (!AllBlocksNew.BELT.has(currentState)) {
world.destroyBlock(pos, true);
return;
}
@ -446,7 +446,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
TileEntity tileEntity = world.getTileEntity(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;
te.setController(currentPos);
te.beltLength = beltChain.size();
@ -494,7 +494,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
if (currentPos == null)
continue;
BlockState currentState = world.getBlockState(currentPos);
if (!AllBlocks.BELT.typeOf(currentState))
if (!AllBlocksNew.BELT.has(currentState))
continue;
if (currentState.get(CASING))
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<>();
BlockState blockState = world.getBlockState(controllerPos);
if (!AllBlocks.BELT.typeOf(blockState))
if (!AllBlocksNew.BELT.has(blockState))
return positions;
int limit = 1000;
BlockPos current = controllerPos;
while (limit-- > 0 && current != null) {
BlockState state = world.getBlockState(current);
if (!AllBlocks.BELT.typeOf(state))
if (!AllBlocksNew.BELT.has(state))
break;
positions.add(current);
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.Map;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.utility.ColorHelper;
import com.simibubi.create.modules.contraptions.base.KineticTileEntity;
@ -73,7 +73,7 @@ public class BeltTileEntity extends KineticTileEntity {
// Init belt
if (beltLength == 0)
BeltBlock.initBelt(world, pos);
if (!AllBlocks.BELT.typeOf(world.getBlockState(pos)))
if (!AllBlocksNew.BELT.has(world.getBlockState(pos)))
return;
// Initialize Belt Attachments
@ -253,7 +253,7 @@ public class BeltTileEntity extends KineticTileEntity {
}
public boolean hasPulley() {
if (!AllBlocks.BELT.typeOf(getBlockState()))
if (!AllBlocksNew.BELT.has(getBlockState()))
return false;
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.vertex.IVertexBuilder;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.CreateClient;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.CreateClient;
import com.simibubi.create.foundation.block.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.IndependentShadowRenderer;
@ -48,7 +48,7 @@ public class BeltTileEntityRenderer extends SafeTileEntityRenderer<BeltTileEntit
int light, int overlay) {
BlockState blockState = te.getBlockState();
if (!AllBlocks.BELT.typeOf(blockState))
if (!AllBlocksNew.BELT.has(blockState))
return;
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.List;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.Create;
import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.foundation.advancement.AllTriggers;
@ -33,7 +33,7 @@ import net.minecraft.world.World;
public class BeltConnectorItem extends BlockItem {
public BeltConnectorItem(Properties properties) {
super(AllBlocks.BELT.get(), properties);
super(AllBlocksNew.BELT.get(), properties);
}
@Override
@ -126,8 +126,7 @@ public class BeltConnectorItem extends BlockItem {
.get(BlockStateProperties.AXIS) == Axis.X ? Axis.Z : Axis.X);
List<BlockPos> beltsToCreate = getBeltChainBetween(start, end, slope, facing);
BlockState beltBlock = AllBlocks.BELT.get()
.getDefaultState();
BlockState beltBlock = AllBlocksNew.BELT.getDefaultState();
for (BlockPos pos : beltsToCreate) {
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 com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
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.BeltBlock;
@ -248,7 +249,7 @@ public class BeltInventory {
}
// 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())) {
eject(current);
iterator.remove();

View file

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

View file

@ -1,6 +1,6 @@
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.relays.belt.BeltBlock;
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)
return false;
if (AllBlocks.BELT.typeOf(neighbour))
if (AllBlocksNew.BELT.has(neighbour))
return BeltBlock.canAccessFromSide(facing, neighbour);
return !neighbour.getShape(worldIn, pos).isEmpty();
}

View file

@ -4,7 +4,7 @@ import java.util.Arrays;
import java.util.List;
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.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.block.ITE;
@ -92,7 +92,7 @@ public class BeltObserverBlock extends HorizontalBlock
Direction direction = state.get(HORIZONTAL_FACING);
BlockState blockState = world.getBlockState(pos.offset(direction));
if (!AllBlocks.BELT.typeOf(blockState))
if (!AllBlocksNew.BELT.has(blockState))
return false;
if (blockState.get(BeltBlock.SLOPE) != Slope.HORIZONTAL)
return false;
@ -114,7 +114,7 @@ public class BeltObserverBlock extends HorizontalBlock
continue;
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(BeltBlock.SLOPE) == Slope.HORIZONTAL)
if (preferredFacing == null)

View file

@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.List;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.WrappedWorld;
@ -72,7 +73,7 @@ public class BeltTunnelBlock extends Block implements ITE<BeltTunnelTileEntity>,
@Override
public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos) {
BlockState blockState = worldIn.getBlockState(pos.down());
if (!AllBlocks.BELT.typeOf(blockState))
if (!AllBlocksNew.BELT.has(blockState))
return false;
if (blockState.get(BeltBlock.SLOPE) != Slope.HORIZONTAL)
return false;
@ -155,7 +156,7 @@ public class BeltTunnelBlock extends Block implements ITE<BeltTunnelTileEntity>,
BlockState state = AllBlocks.BELT_TUNNEL.get().getDefaultState();
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());
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();
BlockState leftState = reader.getBlockState(pos.offset(left).down());
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());
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)
state = state.with(SHAPE, Shape.CROSS);

View file

@ -7,6 +7,7 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.block.SyncedTileEntity;
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 (!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());
if (teBelow != 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 com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.config.AllConfigs;
import com.simibubi.create.foundation.behaviour.base.SmartTileEntity;
@ -55,7 +55,7 @@ public class ExtractorTileEntity extends SmartTileEntity {
}
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());
if (te instanceof BeltTileEntity) {
if (((BeltTileEntity) te).tryInsertingFromSide(Direction.UP, stack, false))
@ -78,11 +78,11 @@ public class ExtractorTileEntity extends SmartTileEntity {
protected boolean isAttachedToBelt() {
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() {
if (!AllBlocks.BELT.typeOf(world.getBlockState(pos.down())))
if (!AllBlocksNew.BELT.has(world.getBlockState(pos.down())))
return false;
TileEntity te = world.getTileEntity(pos.down());
if (te == null || !(te instanceof BeltTileEntity))
@ -99,7 +99,7 @@ public class ExtractorTileEntity extends SmartTileEntity {
}
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());
if (te instanceof BeltTileEntity) {
BeltTileEntity belt = (BeltTileEntity) te;

View file

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

View file

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

View file

@ -2,7 +2,7 @@ package com.simibubi.create.modules.logistics.block.transposer;
import java.util.List;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.foundation.behaviour.base.TileEntityBehaviour;
import com.simibubi.create.foundation.behaviour.inventory.InsertingBehaviour;
@ -69,7 +69,7 @@ public class TransposerTileEntity extends ExtractorTileEntity {
@Override
protected boolean isTargetingBelt() {
BlockPos targetPos = pos.offset(AttachedLogisticalBlock.getBlockFacing(getBlockState()).getOpposite());
if (!AllBlocks.BELT.typeOf(world.getBlockState(targetPos)))
if (!AllBlocksNew.BELT.has(world.getBlockState(targetPos)))
return false;
TileEntity te = world.getTileEntity(targetPos);
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.function.Function;
import com.simibubi.create.Create;
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.CTSpriteShifter.CTType;
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 com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBlocksNew;
import com.simibubi.create.modules.contraptions.relays.belt.BeltBlock;
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.state.properties.BlockStateProperties;
import net.minecraft.tags.FluidTags;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
@ -120,7 +119,7 @@ public abstract class LaunchedItem {
if (state.has(BlockStateProperties.WATERLOGGED))
state = state.with(BlockStateProperties.WATERLOGGED, Boolean.FALSE);
if (AllBlocks.BELT.typeOf(state)) {
if (AllBlocksNew.BELT.has(state)) {
world.setBlockState(target, state, 2);
return;
}

View file

@ -6,9 +6,6 @@ import static com.simibubi.create.ScreenResources.SCHEMATIC_TABLE_PROGRESS;
import java.nio.file.Paths;
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.simibubi.create.AllBlocksNew;
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.ScrollInput;
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.modules.schematics.ClientSchematicLoader;
import net.minecraft.client.Minecraft;
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.inventory.container.PlayerContainer;
import net.minecraft.util.Util;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.client.model.data.EmptyModelData;
public class SchematicTableScreen extends AbstractSimiContainerScreen<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);
if (entityMode)
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));
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);
else
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.packet.NbtPacket;
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.client.tools.Tools;
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.systems.RenderSystem;
import com.simibubi.create.AllKeys;
import com.simibubi.create.AllSpecialTextures;
import com.simibubi.create.modules.schematics.client.SchematicTransformation;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTUtil;
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.systems.RenderSystem;
import com.simibubi.create.AllKeys;
import com.simibubi.create.AllSpecialTextures;
import com.simibubi.create.CreateClient;
import com.simibubi.create.foundation.utility.RaycastHelper;
import com.simibubi.create.foundation.utility.RaycastHelper.PredicateTraceResult;
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.SchematicTransformation;
@ -19,7 +16,6 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
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": [
{
"name": "Top",
"from": [ 1.0, 11.0, 1.0 ],
"to": [ 15.0, 13.0, 6.8 ],
"from": [ 1.0, 11.0, 9.2 ],
"to": [ 15.0, 13.0, 15.0 ],
"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 },
"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 },
"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 ] }
@ -20,53 +20,53 @@
},
{
"name": "Bottom",
"from": [ 1.0, 3.0, 1.0 ],
"to": [ 15.0, 5.0, 10.1 ],
"from": [ 1.0, 3.0, 5.9 ],
"to": [ 15.0, 5.0, 15.0 ],
"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": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 1.0, 16.0, 10.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 1.0, 15.0, 10.0 ], "rotation": 180 }
"east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 15.0 ], "rotation": 90 },
"south": { "texture": "#0", "uv": [ 1.0, 5.0, 15.0, 3.0 ], "rotation": 180 },
"west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 15.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 6.0, 15.0, 15.0 ], "rotation": 180 }
}
},
{
"name": "Side",
"from": [ 1.0, 4.0, 0.0 ],
"to": [ 15.0, 12.0, 2.0 ],
"from": [ 1.0, 4.0, 14.0 ],
"to": [ 15.0, 12.0, 16.0 ],
"faces": {
"north": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 4.0, 2.0, 12.0 ] },
"south": { "texture": "#0", "uv": [ 1.0, 4.0, 15.0, 12.0 ] },
"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 },
"down": { "texture": "#0", "uv": [ 1.0, 11.0, 15.0, 13.0 ], "rotation": 180 }
"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 ], "rotation": 180 },
"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 ], "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 ] }
}
},
{
"name": "Top Diagonal",
"from": [ 1.0, 11.0, 9.2 ],
"to": [ 15.0, 13.0, 19.325 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"from": [ 1.0, 11.0, -3.325 ],
"to": [ 15.0, 13.0, 6.7 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": {
"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 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 10.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 10.2 ] }
"east": { "texture": "#0", "uv": [ 0.0, 6.0, 2.0, 16.0 ], "rotation": 270 },
"west": { "texture": "#0", "uv": [ 14.0, 6.0, 16.0, 16.0 ], "rotation": 90 },
"up": { "texture": "#0", "uv": [ 1.0, 5.8, 15.0, 16.0 ], "rotation": 180 },
"down": { "texture": "#0", "uv": [ 1.0, 5.8, 15.0, 16.0 ] }
}
},
{
"name": "Bottom Diagonal",
"from": [ 1.0, 3.0, 5.9 ],
"to": [ 15.0, 5.0, 19.325 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": -45.0 },
"from": [ 1.0, 3.0, -3.325 ],
"to": [ 15.0, 5.0, 10.1 ],
"rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "x", "angle": 45.0 },
"faces": {
"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 },
"west": { "texture": "#0", "uv": [ 14.0, 3.0, 16.0, 16.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 3.0, 15.0, 16.0 ], "rotation": 180 }
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 2.0, 13.0 ], "rotation": 90 },
"west": { "texture": "#0", "uv": [ 14.0, 0.0, 16.0, 13.0 ], "rotation": 270 },
"up": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ] },
"down": { "texture": "#0", "uv": [ 1.0, 0.0, 15.0, 13.0 ], "rotation": 180 }
}
}
]

View file

@ -10,7 +10,7 @@
"name": "Bottom Diagonal",
"from": [ 1.0, 3.0, -3.325 ],
"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": {
"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 },
@ -23,7 +23,7 @@
"name": "Top Diagonal",
"from": [ 1.0, 11.0, -3.325 ],
"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": {
"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 },
@ -34,9 +34,9 @@
},
{
"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 ],
"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": {
"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 },
@ -47,9 +47,9 @@
},
{
"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 ],
"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": {
"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 },

View file

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

View file

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

View file

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

View file

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

View file

@ -10,7 +10,7 @@
"name": "Bottom Diagonal",
"from": [ 1.0, 3.0, -3.325 ],
"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": {
"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 },
@ -23,7 +23,7 @@
"name": "Top Diagonal",
"from": [ 1.0, 11.0, -3.325 ],
"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": {
"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 },
@ -34,9 +34,9 @@
},
{
"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 ],
"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": {
"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 },
@ -47,9 +47,9 @@
},
{
"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 ],
"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": {
"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 },

View file

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