From 2b750c943a32c6dbc18c32523079309f8aafee02 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Wed, 9 Feb 2022 02:05:48 +0100 Subject: [PATCH] Down the steel-reinforced rabbit hole - Added track junctions - Girder block pillars now connect textures - Girders now render a panel towards connected solid blocks and chutes - Shafts can now be encased with girders - Added placement assist for girders --- src/generated/resources/.cache/cache | 38 +- .../metal_girder_encased_shaft.json | 37 + .../assets/create/blockstates/track.json | 42 +- .../resources/assets/create/lang/en_ud.json | 1 + .../resources/assets/create/lang/en_us.json | 2 + .../assets/create/lang/unfinished/de_de.json | 4 +- .../assets/create/lang/unfinished/es_cl.json | 4 +- .../assets/create/lang/unfinished/es_es.json | 4 +- .../assets/create/lang/unfinished/fr_fr.json | 4 +- .../assets/create/lang/unfinished/it_it.json | 4 +- .../assets/create/lang/unfinished/ja_jp.json | 4 +- .../assets/create/lang/unfinished/ko_kr.json | 4 +- .../assets/create/lang/unfinished/nl_nl.json | 4 +- .../assets/create/lang/unfinished/pl_pl.json | 4 +- .../assets/create/lang/unfinished/pt_br.json | 4 +- .../assets/create/lang/unfinished/pt_pt.json | 4 +- .../assets/create/lang/unfinished/ru_ru.json | 4 +- .../assets/create/lang/unfinished/zh_cn.json | 4 +- .../assets/create/lang/unfinished/zh_tw.json | 4 +- .../blocks/metal_girder_encased_shaft.json | 35 + .../tags/blocks/mineable/pickaxe.json | 1 + .../com/simibubi/create/AllBlockPartials.java | 4 + .../java/com/simibubi/create/AllBlocks.java | 15 + .../java/com/simibubi/create/AllShapes.java | 2 + .../com/simibubi/create/AllSpriteShifts.java | 3 +- .../com/simibubi/create/AllTileEntities.java | 3 +- .../relays/elementary/ShaftBlock.java | 35 +- .../girder/ConnectedGirderModel.java | 70 ++ .../curiosities/girder/GirderBlock.java | 120 ++- .../girder/GirderBlockStateGenerator.java | 33 + .../curiosities/girder/GirderCTBehaviour.java | 32 + .../girder/GirderEncasedShaftBlock.java | 115 +++ .../girder/GirderPlacementHelper.java | 103 ++ .../content/logistics/trains/ITrackBlock.java | 34 +- .../logistics/trains/TrackGraphHelper.java | 29 +- .../logistics/trains/TrackPropagator.java | 12 +- .../trains/entity/TrainRelocator.java | 5 +- .../trains/management/StationTileEntity.java | 6 +- .../management/TrackTargetingBehaviour.java | 8 +- .../management/TrackTargetingBlockItem.java | 10 +- .../logistics/trains/track/TrackBlock.java | 91 +- .../trains/track/TrackBlockItem.java | 8 +- .../logistics/trains/track/TrackPaver.java | 12 +- .../trains/track/TrackPlacement.java | 24 +- .../assets/create/lang/default/interface.json | 1 + .../models/block/metal_girder/Girder.bbmodel | 1 - .../models/block/metal_girder/block_pole.json | 9 +- .../block/metal_girder/bracket_east.json | 21 + .../block/metal_girder/bracket_north.json | 21 + .../block/metal_girder/bracket_south.json | 21 + .../block/metal_girder/bracket_west.json | 21 + .../metal_girder_encased_shaft/block.json | 72 ++ .../block_bottom.json | 30 + .../metal_girder_encased_shaft/block_top.json | 29 + .../models/block/track/cross_d1_xo.json | 6 + .../create/models/block/track/cross_d1_xo.obj | 771 ++++++++++++++ .../block/track/cross_d1_xo_template.json | 349 +++++++ .../models/block/track/cross_d1_zo.json | 6 + .../create/models/block/track/cross_d1_zo.obj | 771 ++++++++++++++ .../block/track/cross_d1_zo_template.json | 350 +++++++ .../models/block/track/cross_d2_xo.json | 6 + .../create/models/block/track/cross_d2_xo.obj | 771 ++++++++++++++ .../block/track/cross_d2_xo_template.json | 350 +++++++ .../models/block/track/cross_d2_zo.json | 6 + .../create/models/block/track/cross_d2_zo.obj | 771 ++++++++++++++ .../block/track/cross_d2_zo_template.json | 350 +++++++ .../create/models/block/track/cross_diag.json | 6 + .../create/models/block/track/cross_diag.obj | 961 ++++++++++++++++++ .../block/track/cross_diag_template.json | 406 ++++++++ .../models/block/track/cross_ortho.json | 304 ++++++ .../create/models/block/track/diag.json | 9 +- .../assets/create/models/block/track/diag.mtl | 6 - .../assets/create/models/block/track/diag.obj | 38 +- .../create/models/block/track/diag_2.json | 6 + .../create/models/block/track/diag_2.obj | 459 +++++++++ .../models/block/track/diag_2_template.json | 209 ++++ .../create/models/block/track/obj_track.json | 9 + .../create/models/block/track/track.mtl | 4 + .../create/models/block/track/x_ortho.json | 48 +- .../create/models/block/track/z_ortho.json | 48 +- .../assets/create/textures/block/girder.png | Bin 1060 -> 550 bytes .../textures/block/girder_pole_side.png | Bin 0 -> 252 bytes .../block/girder_pole_side_connected.png | Bin 0 -> 330 bytes .../block/standard_track_crossing.png | Bin 0 -> 1279 bytes 84 files changed, 8029 insertions(+), 203 deletions(-) create mode 100644 src/generated/resources/assets/create/blockstates/metal_girder_encased_shaft.json create mode 100644 src/generated/resources/data/create/loot_tables/blocks/metal_girder_encased_shaft.json create mode 100644 src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java create mode 100644 src/main/java/com/simibubi/create/content/curiosities/girder/GirderCTBehaviour.java create mode 100644 src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java create mode 100644 src/main/java/com/simibubi/create/content/curiosities/girder/GirderPlacementHelper.java delete mode 100644 src/main/resources/assets/create/models/block/metal_girder/Girder.bbmodel create mode 100644 src/main/resources/assets/create/models/block/metal_girder/bracket_east.json create mode 100644 src/main/resources/assets/create/models/block/metal_girder/bracket_north.json create mode 100644 src/main/resources/assets/create/models/block/metal_girder/bracket_south.json create mode 100644 src/main/resources/assets/create/models/block/metal_girder/bracket_west.json create mode 100644 src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block.json create mode 100644 src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_bottom.json create mode 100644 src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_top.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d1_xo.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d1_xo.obj create mode 100644 src/main/resources/assets/create/models/block/track/cross_d1_xo_template.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d1_zo.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d1_zo.obj create mode 100644 src/main/resources/assets/create/models/block/track/cross_d1_zo_template.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d2_xo.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d2_xo.obj create mode 100644 src/main/resources/assets/create/models/block/track/cross_d2_xo_template.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d2_zo.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_d2_zo.obj create mode 100644 src/main/resources/assets/create/models/block/track/cross_d2_zo_template.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_diag.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_diag.obj create mode 100644 src/main/resources/assets/create/models/block/track/cross_diag_template.json create mode 100644 src/main/resources/assets/create/models/block/track/cross_ortho.json delete mode 100644 src/main/resources/assets/create/models/block/track/diag.mtl create mode 100644 src/main/resources/assets/create/models/block/track/diag_2.json create mode 100644 src/main/resources/assets/create/models/block/track/diag_2.obj create mode 100644 src/main/resources/assets/create/models/block/track/diag_2_template.json create mode 100644 src/main/resources/assets/create/models/block/track/obj_track.json create mode 100644 src/main/resources/assets/create/textures/block/girder_pole_side.png create mode 100644 src/main/resources/assets/create/textures/block/girder_pole_side_connected.png create mode 100644 src/main/resources/assets/create/textures/block/standard_track_crossing.png diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 6c96f19b4..f59087da6 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -291,6 +291,7 @@ b7c4a0ff0c6f16e14d71fc0fb7fc66d032b65cf3 assets/create/blockstates/mechanical_pu 264d72320ee0f1e014319f7d99dcc1fa953a4ad4 assets/create/blockstates/mechanical_saw.json 94bbcb7e622471dbf418d78f9200ad321c7168de assets/create/blockstates/metal_bracket.json c253a827d9f0b0e29f67dfd19d65b259d3d4f045 assets/create/blockstates/metal_girder.json +e20699a753e7b12abd4a881de473d494a4ffeaa9 assets/create/blockstates/metal_girder_encased_shaft.json 4e48ad0936647065c2322390e7c0fe115c853a98 assets/create/blockstates/millstone.json 468202df0802e17c75fcad0993daf1bc5300ca91 assets/create/blockstates/minecart_anchor.json b1126c191877cff86b4e2de83e1fcbd151451cb7 assets/create/blockstates/mysterious_cuckoo_clock.json @@ -480,7 +481,7 @@ f385988cb6fa9c48b5d59a6942ec50ed2b60c8bf assets/create/blockstates/stockpile_swi e815bfd854c2653f10828bb11950f7fb991d7efc assets/create/blockstates/stressometer.json 8b0c2c7ac72529565b3339aa8df7565858100afa assets/create/blockstates/tiled_glass.json a2454400b1cf9889f70aebdc89c52a1be25f543c assets/create/blockstates/tiled_glass_pane.json -6b0d3d57ad6bf79b573d51b9cd2c559f9432cede assets/create/blockstates/track.json +85b57776edf426c2f8df6698b2482ea925914a5c assets/create/blockstates/track.json aa08785f906d41933e0dd1086ea7b08f5b93aa24 assets/create/blockstates/track_station.json 29af21c8d82891139d48d69f0393f612f2b6f8f1 assets/create/blockstates/tuff_pillar.json a8094531617e27a545c4815ab2062bf0ffca3633 assets/create/blockstates/turntable.json @@ -536,22 +537,22 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -d32ac672a6e85015edc0f49157405da81a9d82fd assets/create/lang/en_ud.json -907936101b5a6cc3fc9db47aec2617f836b773bb assets/create/lang/en_us.json -c265dd98de3faa80affe8f5a6f171f7a0f9d1027 assets/create/lang/unfinished/de_de.json -4f41bf7eece8eb6463b307390d721348018cf91d assets/create/lang/unfinished/es_cl.json -93e8b2b6d7f029c362029393c1329045cfb35033 assets/create/lang/unfinished/es_es.json -4cfe7446bb05c23c9a49fe3bccddb1e597050c1c assets/create/lang/unfinished/fr_fr.json -2a495ea4df9330bc69bcb05291b8210fa644bfdc assets/create/lang/unfinished/it_it.json -62d1aec8ba91731d99480e60dd6cb29489b6c887 assets/create/lang/unfinished/ja_jp.json -aa79bb52d87c6d5251231dd4f577dd334793e903 assets/create/lang/unfinished/ko_kr.json -a8f003508a946f9c1144bf14aff2321feccc507b assets/create/lang/unfinished/nl_nl.json -43f5043560fda8799718c262fa72111101be31db assets/create/lang/unfinished/pl_pl.json -cae2ce1a697c0660ff66b23020dd0209ae9258c6 assets/create/lang/unfinished/pt_br.json -e3d4a36a5f9b7b37cf52affadc9018ff3106a0d8 assets/create/lang/unfinished/pt_pt.json -c2986f67a7dcf94db04107f4126ab3601f5065ee assets/create/lang/unfinished/ru_ru.json -40cd4b06703e51b8779b36e45fd42bf836737971 assets/create/lang/unfinished/zh_cn.json -48c4e96bfd4de2cd466911a18035d7bba98645a4 assets/create/lang/unfinished/zh_tw.json +99fe404c85879934693a6afca6c0088e04c50657 assets/create/lang/en_ud.json +a66727961d19361e9f6fc2a81a93053f11155141 assets/create/lang/en_us.json +40e345f3514d00a6de7ee6ccd07af0991155042f assets/create/lang/unfinished/de_de.json +7e9c89a7b70fab85346c30258d9db728bcdd0a11 assets/create/lang/unfinished/es_cl.json +e0cd89e2e67a7a6e1b744a7f44bea4dbc6861011 assets/create/lang/unfinished/es_es.json +76401cc86ef9545a382094dd128779f1af05f489 assets/create/lang/unfinished/fr_fr.json +763380d38ee082a85fa28a74db3d1fa3a6f8e931 assets/create/lang/unfinished/it_it.json +4afbee011c0877633241ea3655f1c97b5431f608 assets/create/lang/unfinished/ja_jp.json +b3fc6f2fcb5dfb357fb066d9665e4adc487515df assets/create/lang/unfinished/ko_kr.json +62db40a1b598ebab022156ba3849cfe9ceb8e1a9 assets/create/lang/unfinished/nl_nl.json +075f756c2b25f8abf8684a9f967c8dba706540c8 assets/create/lang/unfinished/pl_pl.json +bb7a09bac75414ea509f960abb0ef902c939f00b assets/create/lang/unfinished/pt_br.json +ec9eca6a8e36457857f8f6dd03c8f16d8a583d3a assets/create/lang/unfinished/pt_pt.json +47a78bac16ed55a4a14c04273e9e6226668699ca assets/create/lang/unfinished/ru_ru.json +6c11045cd143c80bfe8fbf84e58403dda58cb6e5 assets/create/lang/unfinished/zh_cn.json +8d4484b00acdad79717093384fcc3db0d96ba67b assets/create/lang/unfinished/zh_tw.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json @@ -3574,6 +3575,7 @@ ff55d31ae8f7a8943f1e9fcc330d18e246566997 data/create/loot_tables/blocks/mechanic 6c88dd3f096f2a7572573158f8e6d9f4b3dedae0 data/create/loot_tables/blocks/mechanical_saw.json fcd800d7abf5dc5ce50b6fff6f2fc934b3d47b4b data/create/loot_tables/blocks/metal_bracket.json afdff197c9d1a6940e988c00435135f9705fd0e5 data/create/loot_tables/blocks/metal_girder.json +5ca3e3098beb32c75d1cba5c48c1265bfbfb2556 data/create/loot_tables/blocks/metal_girder_encased_shaft.json b83a90fbe83906b171fc0de6bdc2d9aa3a8c542e data/create/loot_tables/blocks/millstone.json 5c1df8443043b3fe3b665dba348e2ff188bcbe31 data/create/loot_tables/blocks/minecart_anchor.json 1e73d28fdd2e54910074aeadbe5617425a8ae656 data/create/loot_tables/blocks/mysterious_cuckoo_clock.json @@ -5277,7 +5279,7 @@ ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/items/storage_blocks/br 69f596fcb065e26b02ce246760432b5174191b76 data/minecraft/tags/blocks/impermeable.json 2db7759fe036160c14c6ed19a68604ca16f4de60 data/minecraft/tags/blocks/lush_ground_replaceable.json 02f7a9df2f9e154749266e7ac59c37aa076a3390 data/minecraft/tags/blocks/mineable/axe.json -fa964df81a193d6854ef23fc6061a02d52743f60 data/minecraft/tags/blocks/mineable/pickaxe.json +8609b989da9a0a1a2394c157483e89df83eff240 data/minecraft/tags/blocks/mineable/pickaxe.json 2db7759fe036160c14c6ed19a68604ca16f4de60 data/minecraft/tags/blocks/moss_replaceable.json e157c1d3af30e409e34bbefbe15a037e6e1c8daa data/minecraft/tags/blocks/needs_iron_tool.json a08f67865337f62601c5e333b4011382d10020e4 data/minecraft/tags/blocks/needs_stone_tool.json diff --git a/src/generated/resources/assets/create/blockstates/metal_girder_encased_shaft.json b/src/generated/resources/assets/create/blockstates/metal_girder_encased_shaft.json new file mode 100644 index 000000000..c3c05d2d8 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/metal_girder_encased_shaft.json @@ -0,0 +1,37 @@ +{ + "multipart": [ + { + "when": { + "axis": "z" + }, + "apply": { + "model": "create:block/metal_girder_encased_shaft/block" + } + }, + { + "when": { + "axis": "x" + }, + "apply": { + "model": "create:block/metal_girder_encased_shaft/block", + "y": 90 + } + }, + { + "when": { + "top": "true" + }, + "apply": { + "model": "create:block/metal_girder_encased_shaft/block_top" + } + }, + { + "when": { + "bottom": "true" + }, + "apply": { + "model": "create:block/metal_girder_encased_shaft/block_bottom" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/track.json b/src/generated/resources/assets/create/blockstates/track.json index 2f8583958..a58f5794e 100644 --- a/src/generated/resources/assets/create/blockstates/track.json +++ b/src/generated/resources/assets/create/blockstates/track.json @@ -13,8 +13,7 @@ "model": "create:block/track/diag" }, "shape=nd,turn=false": { - "model": "create:block/track/diag", - "y": 90 + "model": "create:block/track/diag_2" }, "shape=an,turn=false": { "model": "create:block/track/ascending", @@ -31,6 +30,24 @@ "model": "create:block/track/ascending", "y": 90 }, + "shape=cr_o,turn=false": { + "model": "create:block/track/cross_ortho" + }, + "shape=cr_d,turn=false": { + "model": "create:block/track/cross_diag" + }, + "shape=cr_pdx,turn=false": { + "model": "create:block/track/cross_d1_xo" + }, + "shape=cr_pdz,turn=false": { + "model": "create:block/track/cross_d1_zo" + }, + "shape=cr_ndx,turn=false": { + "model": "create:block/track/cross_d2_xo" + }, + "shape=cr_ndz,turn=false": { + "model": "create:block/track/cross_d2_zo" + }, "shape=none,turn=true": { "model": "minecraft:block/air" }, @@ -44,8 +61,7 @@ "model": "create:block/track/diag" }, "shape=nd,turn=true": { - "model": "create:block/track/diag", - "y": 90 + "model": "create:block/track/diag_2" }, "shape=an,turn=true": { "model": "create:block/track/ascending", @@ -61,6 +77,24 @@ "shape=aw,turn=true": { "model": "create:block/track/ascending", "y": 90 + }, + "shape=cr_o,turn=true": { + "model": "create:block/track/cross_ortho" + }, + "shape=cr_d,turn=true": { + "model": "create:block/track/cross_diag" + }, + "shape=cr_pdx,turn=true": { + "model": "create:block/track/cross_d1_xo" + }, + "shape=cr_pdz,turn=true": { + "model": "create:block/track/cross_d1_zo" + }, + "shape=cr_ndx,turn=true": { + "model": "create:block/track/cross_d2_xo" + }, + "shape=cr_ndz,turn=true": { + "model": "create:block/track/cross_d2_zo" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index 79f8d0097..648b1c0fb 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -292,6 +292,7 @@ "block.create.mechanical_saw": "\u028D\u0250S \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW", "block.create.metal_bracket": "\u0287\u01DD\u029E\u0254\u0250\u0279\u15FA \u05DF\u0250\u0287\u01DDW", "block.create.metal_girder": "\u0279\u01DDp\u0279\u0131\u2141 \u05DF\u0250\u0287\u01DDW", + "block.create.metal_girder_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E \u0279\u01DDp\u0279\u0131\u2141 \u05DF\u0250\u0287\u01DDW", "block.create.millstone": "\u01DDuo\u0287s\u05DF\u05DF\u0131W", "block.create.minecart_anchor": "\u0279o\u0265\u0254u\u2C6F \u0287\u0279\u0250\u0254\u01DDu\u0131W", "block.create.mysterious_cuckoo_clock": "\u029E\u0254o\u05DF\u0186 oo\u029E\u0254n\u0186", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 6a42a8175..8045a8078 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -295,6 +295,7 @@ "block.create.mechanical_saw": "Mechanical Saw", "block.create.metal_bracket": "Metal Bracket", "block.create.metal_girder": "Metal Girder", + "block.create.metal_girder_encased_shaft": "Metal Girder Encased Shaft", "block.create.millstone": "Millstone", "block.create.minecart_anchor": "Minecart Anchor", "block.create.mysterious_cuckoo_clock": "Cuckoo Clock", @@ -1409,6 +1410,7 @@ "create.track_target.clear": "Cleared track selection", "create.track_target.missing": "Right-click the targeted train track first", "create.track_target.too_far": "Targeted track is too far from here", + "create.track_target.no_junctions": "Targeted track cannot be an intersection", "create.train.unnamed": "Unnamed Train", "create.train.cannot_relocate_moving": "Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 79366c4ab..be42dcac2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1430", + "_": "Missing Localizations: 1432", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Mechanische Säge", "block.create.metal_bracket": "Metallhalterung", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Mahlstein", "block.create.minecart_anchor": "Lorenanker", "block.create.mysterious_cuckoo_clock": "Kuckucksuhr", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_cl.json b/src/generated/resources/assets/create/lang/unfinished/es_cl.json index 9c3505d80..138e40952 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 441", + "_": "Missing Localizations: 443", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Sierra Mecánica", "block.create.metal_bracket": "Soporte Metálico", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Piedra de Molino", "block.create.minecart_anchor": "Ancla de Vagoneta", "block.create.mysterious_cuckoo_clock": "Reloj Cu-Cú", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index d149a878b..f58b12b53 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 441", + "_": "Missing Localizations: 443", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Sierra mecánica", "block.create.metal_bracket": "Soporte de metal para ejes", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Piedra de molino", "block.create.minecart_anchor": "Ancla de vagonetas", "block.create.mysterious_cuckoo_clock": "Reloj de cuco", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 2a7e92032..9c92160c5 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1692", + "_": "Missing Localizations: 1694", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Scie mécanique", "block.create.metal_bracket": "UNLOCALIZED: Metal Bracket", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "UNLOCALIZED: Millstone", "block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor", "block.create.mysterious_cuckoo_clock": "UNLOCALIZED: Cuckoo Clock", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index e993ac310..059a55353 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1381", + "_": "Missing Localizations: 1383", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Sega meccanica", "block.create.metal_bracket": "Supporto di metallo", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Macina", "block.create.minecart_anchor": "Ancora per carrello da miniera", "block.create.mysterious_cuckoo_clock": "Orologio a cucù misterioso", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 66e410374..b12b60df3 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 111", + "_": "Missing Localizations: 113", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "メカニカルソー", "block.create.metal_bracket": "金属ブラケット", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "石臼", "block.create.minecart_anchor": "トロッコアンカー", "block.create.mysterious_cuckoo_clock": "鳩時計", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index b84e5f93e..db26a5aa1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 113", + "_": "Missing Localizations: 115", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "톱", "block.create.metal_bracket": "금속 지지대", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "맷돌", "block.create.minecart_anchor": "광산 수레 정박기", "block.create.mysterious_cuckoo_clock": "뻐꾸기 시계?", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index fe0792130..4aaa5d421 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2045", + "_": "Missing Localizations: 2047", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Mechanische Zaag", "block.create.metal_bracket": "UNLOCALIZED: Metal Bracket", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "UNLOCALIZED: Millstone", "block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor", "block.create.mysterious_cuckoo_clock": "UNLOCALIZED: Cuckoo Clock", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index 11a41a399..f9261311d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 480", + "_": "Missing Localizations: 482", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Mechaniczna piła", "block.create.metal_bracket": "Metalowy wspornik", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Młynek", "block.create.minecart_anchor": "Kotwica wagonikowa", "block.create.mysterious_cuckoo_clock": "Zegar z kukułką", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index bfa634c75..cf388826c 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1664", + "_": "Missing Localizations: 1666", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Serra Mecânica", "block.create.metal_bracket": "Suporte de metal", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Pedra de Moer", "block.create.minecart_anchor": "Ancóra de carrinho de Mina", "block.create.mysterious_cuckoo_clock": "Relógio cuckoo", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json index 8cc86923c..a62141762 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1664", + "_": "Missing Localizations: 1666", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Serra Mecânica", "block.create.metal_bracket": "Suporte de metal", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Pedra de Moer", "block.create.minecart_anchor": "Ancóra de carrinho de Mina", "block.create.mysterious_cuckoo_clock": "Relógio cuckoo", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 777db4d88..a80390dde 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 485", + "_": "Missing Localizations: 487", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "Механическая пила", "block.create.metal_bracket": "Металлическая скоба", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "Жернов", "block.create.minecart_anchor": "Вагонеточный якорь", "block.create.mysterious_cuckoo_clock": "Часы с кукушкой", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index d17c91e77..d5c594dd3 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 111", + "_": "Missing Localizations: 113", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "动力锯", "block.create.metal_bracket": "金属支架", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "石磨", "block.create.minecart_anchor": "矿车锚", "block.create.mysterious_cuckoo_clock": "布谷鸟闹钟", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index a31fd46e0..bca863d4e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 499", + "_": "Missing Localizations: 501", "_": "->------------------------] Game Elements [------------------------<-", @@ -296,6 +296,7 @@ "block.create.mechanical_saw": "機械切割機", "block.create.metal_bracket": "金屬支架", "block.create.metal_girder": "UNLOCALIZED: Metal Girder", + "block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft", "block.create.millstone": "石磨", "block.create.minecart_anchor": "礦車錨", "block.create.mysterious_cuckoo_clock": "神秘布穀鳥鐘", @@ -1410,6 +1411,7 @@ "create.track_target.clear": "UNLOCALIZED: Cleared track selection", "create.track_target.missing": "UNLOCALIZED: Right-click the targeted train track first", "create.track_target.too_far": "UNLOCALIZED: Targeted track is too far from here", + "create.track_target.no_junctions": "UNLOCALIZED: Targeted track cannot be an intersection", "create.train.unnamed": "UNLOCALIZED: Unnamed Train", "create.train.cannot_relocate_moving": "UNLOCALIZED: Cannot relocate a moving Train", diff --git a/src/generated/resources/data/create/loot_tables/blocks/metal_girder_encased_shaft.json b/src/generated/resources/data/create/loot_tables/blocks/metal_girder_encased_shaft.json new file mode 100644 index 000000000..e87f52d5d --- /dev/null +++ b/src/generated/resources/data/create/loot_tables/blocks/metal_girder_encased_shaft.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "create:metal_girder" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 11f41103e..8b2b93417 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -42,6 +42,7 @@ "create:wooden_bracket", "create:metal_bracket", "create:metal_girder", + "create:metal_girder_encased_shaft", "create:fluid_pipe", "create:encased_fluid_pipe", "create:glass_fluid_pipe", diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java index e7eb6b3dd..85a41614a 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -149,6 +149,8 @@ public class AllBlockPartials { public static final Map BLAZES = new EnumMap<>(BlazeBurnerBlock.HeatLevel.class); + public static final Map METAL_GIRDER_BRACKETS = + new EnumMap<>(Direction.class); public static final Map TOOLBOX_LIDS = new EnumMap<>(DyeColor.class); static { @@ -169,6 +171,8 @@ public class AllBlockPartials { } for (DyeColor color : DyeColor.values()) TOOLBOX_LIDS.put(color, block("toolbox/lid/" + Lang.asId(color.name()))); + for (Direction d : Iterate.horizontalDirections) + METAL_GIRDER_BRACKETS.put(d, block("metal_girder/bracket_" + Lang.asId(d.name()))); } private static PartialModel block(String path) { diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index a06dc2c97..39c62c886 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -127,8 +127,10 @@ import com.simibubi.create.content.curiosities.armor.CopperBacktankBlock; import com.simibubi.create.content.curiosities.bell.HauntedBellBlock; import com.simibubi.create.content.curiosities.bell.HauntedBellMovementBehaviour; import com.simibubi.create.content.curiosities.bell.PeculiarBellBlock; +import com.simibubi.create.content.curiosities.girder.ConnectedGirderModel; import com.simibubi.create.content.curiosities.girder.GirderBlock; import com.simibubi.create.content.curiosities.girder.GirderBlockStateGenerator; +import com.simibubi.create.content.curiosities.girder.GirderEncasedShaftBlock; import com.simibubi.create.content.curiosities.toolbox.ToolboxBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlock; @@ -671,10 +673,23 @@ public class AllBlocks { .blockstate(GirderBlockStateGenerator::blockState) .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) .transform(pickaxeOnly()) + .onRegister(CreateRegistrate.blockModel(() -> ConnectedGirderModel::new)) .item() .transform(customItemModel()) .register(); + public static final BlockEntry METAL_GIRDER_ENCASED_SHAFT = + REGISTRATE.block("metal_girder_encased_shaft", GirderEncasedShaftBlock::new) + .blockstate(GirderBlockStateGenerator::blockStateWithShaft) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .loot((p, b) -> p.add(b, RegistrateBlockLootTables.createSingleItemTable(METAL_GIRDER.get()) + .withPool(RegistrateBlockLootTables.applyExplosionCondition(SHAFT.get(), LootPool.lootPool() + .setRolls(ConstantValue.exactly(1.0F)) + .add(LootItem.lootTableItem(SHAFT.get())))))) + .onRegister(CreateRegistrate.blockModel(() -> ConnectedGirderModel::new)) + .register(); + // Fluids public static final BlockEntry FLUID_PIPE = REGISTRATE.block("fluid_pipe", FluidPipeBlock::new) diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index dfa0ee521..4e8fdfbf0 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -121,6 +121,8 @@ public class AllShapes { .forHorizontal(SOUTH), GIRDER_BEAM = shape(4, 2, 0, 12, 14, 16).forHorizontalAxis(), + GIRDER_BEAM_SHAFT = shape(GIRDER_BEAM.get(Axis.X)).add(SIX_VOXEL_POLE.get(Axis.Z)) + .forHorizontalAxis(), STATION = shape(0, 0, 0, 16, 5, 16).add(2, 4, 0, 14, 16, 4) .forHorizontal(NORTH), diff --git a/src/main/java/com/simibubi/create/AllSpriteShifts.java b/src/main/java/com/simibubi/create/AllSpriteShifts.java index 5e4549fdf..b1d254ee5 100644 --- a/src/main/java/com/simibubi/create/AllSpriteShifts.java +++ b/src/main/java/com/simibubi/create/AllSpriteShifts.java @@ -37,7 +37,8 @@ public class AllSpriteShifts { ANDESITE_ENCASED_COGWHEEL_SIDE = vertical("andesite_encased_cogwheel_side"), ANDESITE_ENCASED_COGWHEEL_OTHERSIDE = horizontal("andesite_encased_cogwheel_side"), BRASS_ENCASED_COGWHEEL_SIDE = vertical("brass_encased_cogwheel_side"), - BRASS_ENCASED_COGWHEEL_OTHERSIDE = horizontal("brass_encased_cogwheel_side"); + BRASS_ENCASED_COGWHEEL_OTHERSIDE = horizontal("brass_encased_cogwheel_side"), + GIRDER_POLE = vertical("girder_pole_side"); public static final CTSpriteShiftEntry ANDESITE_CASING = omni("andesite_casing"), BRASS_CASING = omni("brass_casing"), COPPER_CASING = omni("copper_casing"), diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 5db6ed851..753cc7635 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -221,7 +221,8 @@ public class AllTileEntities { public static final BlockEntityEntry ENCASED_SHAFT = Create.registrate() .tileEntity("encased_shaft", KineticTileEntity::new) .instance(() -> ShaftInstance::new, false) - .validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE) + .validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE, + AllBlocks.METAL_GIRDER_ENCASED_SHAFT) .renderer(() -> ShaftRenderer::new) .register(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java index ac1d647e8..2fd7e911a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java @@ -1,11 +1,14 @@ package com.simibubi.create.content.contraptions.relays.elementary; +import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED; + import java.util.function.Predicate; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; +import com.simibubi.create.content.curiosities.girder.GirderEncasedShaftBlock; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.utility.placement.IPlacementHelper; import com.simibubi.create.foundation.utility.placement.PlacementHelpers; @@ -14,6 +17,7 @@ import com.simibubi.create.foundation.utility.placement.util.PoleHelper; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; @@ -69,35 +73,46 @@ public class ShaftBlock extends AbstractShaftBlock { if (world.isClientSide) return InteractionResult.SUCCESS; - + AllTriggers.triggerFor(AllTriggers.CASING_SHAFT, player); KineticTileEntity.switchToBlockState(world, pos, encasedShaft.defaultBlockState() .setValue(AXIS, state.getValue(AXIS))); return InteractionResult.SUCCESS; } + if (AllBlocks.METAL_GIRDER.isIn(heldItem) && state.getValue(AXIS) != Axis.Y) { + KineticTileEntity.switchToBlockState(world, pos, AllBlocks.METAL_GIRDER_ENCASED_SHAFT.getDefaultState() + .setValue(WATERLOGGED, state.getValue(WATERLOGGED)) + .setValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS, state.getValue(AXIS) == Axis.Z ? Axis.Z : Axis.X)); + if (!world.isClientSide && !player.isCreative()) { + heldItem.shrink(1); + if (heldItem.isEmpty()) + player.setItemInHand(hand, ItemStack.EMPTY); + } + return InteractionResult.SUCCESS; + } + IPlacementHelper helper = PlacementHelpers.get(placementHelperId); if (helper.matchesItem(heldItem)) - return helper.getOffset(player, world, state, pos, ray).placeInWorld(world, (BlockItem) heldItem.getItem(), player, hand, ray); + return helper.getOffset(player, world, state, pos, ray) + .placeInWorld(world, (BlockItem) heldItem.getItem(), player, hand, ray); return InteractionResult.PASS; } @MethodsReturnNonnullByDefault private static class PlacementHelper extends PoleHelper { - //used for extending a shaft in its axis, like the piston poles. works with shafts and cogs + // used for extending a shaft in its axis, like the piston poles. works with + // shafts and cogs - private PlacementHelper(){ - super( - state -> state.getBlock() instanceof AbstractShaftBlock, - state -> state.getValue(AXIS), - AXIS - ); + private PlacementHelper() { + super(state -> state.getBlock() instanceof AbstractShaftBlock, state -> state.getValue(AXIS), AXIS); } @Override public Predicate getItemPredicate() { - return i -> i.getItem() instanceof BlockItem && ((BlockItem) i.getItem()).getBlock() instanceof AbstractShaftBlock; + return i -> i.getItem() instanceof BlockItem + && ((BlockItem) i.getItem()).getBlock() instanceof AbstractShaftBlock; } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java b/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java new file mode 100644 index 000000000..373800fd2 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/ConnectedGirderModel.java @@ -0,0 +1,70 @@ +package com.simibubi.create.content.curiosities.girder; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.block.connected.CTModel; +import com.simibubi.create.foundation.utility.Iterate; + +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraftforge.client.model.data.IModelData; +import net.minecraftforge.client.model.data.ModelDataMap.Builder; +import net.minecraftforge.client.model.data.ModelProperty; + +public class ConnectedGirderModel extends CTModel { + + protected static ModelProperty CONNECTION_PROPERTY = new ModelProperty<>(); + + public ConnectedGirderModel(BakedModel originalModel) { + super(originalModel, new GirderCTBehaviour()); + } + + @Override + protected Builder gatherModelData(Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state) { + ConnectionData connectionData = new ConnectionData(); + for (Direction d : Iterate.horizontalDirections) + connectionData.setConnected(d, GirderBlock.isConnected(world, pos, state, d)); + return super.gatherModelData(builder, world, pos, state).withInitial(CONNECTION_PROPERTY, connectionData); + } + + @Override + public List getQuads(BlockState state, Direction side, Random rand, IModelData extraData) { + List superQuads = super.getQuads(state, side, rand, extraData); + if (side != null || !extraData.hasProperty(CONNECTION_PROPERTY)) + return superQuads; + List quads = new ArrayList<>(superQuads); + ConnectionData data = extraData.getData(CONNECTION_PROPERTY); + for (Direction d : Iterate.horizontalDirections) + if (data.isConnected(d)) + quads.addAll(AllBlockPartials.METAL_GIRDER_BRACKETS.get(d) + .get() + .getQuads(state, side, rand, extraData)); + return quads; + } + + private class ConnectionData { + boolean[] connectedFaces; + + public ConnectionData() { + connectedFaces = new boolean[4]; + Arrays.fill(connectedFaces, false); + } + + void setConnected(Direction face, boolean connected) { + connectedFaces[face.get2DDataValue()] = connected; + } + + boolean isConnected(Direction face) { + return connectedFaces[face.get2DDataValue()]; + } + } + +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java index 6b4504d8b..4b6c6d86e 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlock.java @@ -4,21 +4,39 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; +import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.fluids.pipes.BracketBlock; +import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchable; +import com.simibubi.create.content.logistics.block.chute.AbstractChuteBlock; import com.simibubi.create.content.logistics.trains.track.TrackBlock; import com.simibubi.create.content.logistics.trains.track.TrackBlock.TrackShape; +import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.utility.Iterate; +import com.simibubi.create.foundation.utility.placement.IPlacementHelper; +import com.simibubi.create.foundation.utility.placement.PlacementHelpers; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; import net.minecraft.world.level.block.SimpleWaterloggedBlock; import net.minecraft.world.level.block.WallBlock; +import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition.Builder; import net.minecraft.world.level.block.state.properties.BooleanProperty; @@ -26,11 +44,14 @@ import net.minecraft.world.level.block.state.properties.Property; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenchable { + private static final int placementHelperId = PlacementHelpers.register(new GirderPlacementHelper()); + public static final BooleanProperty X = BooleanProperty.create("x"); public static final BooleanProperty Z = BooleanProperty.create("z"); public static final BooleanProperty TOP = BooleanProperty.create("top"); @@ -50,6 +71,37 @@ public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenc super.createBlockStateDefinition(pBuilder.add(X, Z, TOP, BOTTOM, WATERLOGGED)); } + @Override + public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, + BlockHitResult pHit) { + if (pPlayer == null) + return InteractionResult.PASS; + + ItemStack itemInHand = pPlayer.getItemInHand(pHand); + if (AllBlocks.SHAFT.isIn(itemInHand)) { + KineticTileEntity.switchToBlockState(pLevel, pPos, AllBlocks.METAL_GIRDER_ENCASED_SHAFT.getDefaultState() + .setValue(WATERLOGGED, pState.getValue(WATERLOGGED)) + .setValue(TOP, pState.getValue(TOP)) + .setValue(BOTTOM, pState.getValue(BOTTOM)) + .setValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS, pState.getValue(X) || pHit.getDirection() + .getAxis() == Axis.Z ? Axis.Z : Axis.X)); + pLevel.playSound(null, pPos, SoundEvents.NETHERITE_BLOCK_HIT, SoundSource.BLOCKS, 0.5f, 1.25f); + if (!pLevel.isClientSide && !pPlayer.isCreative()) { + itemInHand.shrink(1); + if (itemInHand.isEmpty()) + pPlayer.setItemInHand(pHand, ItemStack.EMPTY); + } + return InteractionResult.SUCCESS; + } + + IPlacementHelper helper = PlacementHelpers.get(placementHelperId); + if (helper.matchesItem(itemInHand)) + return helper.getOffset(pPlayer, pLevel, pState, pPos, pHit) + .placeInWorld(pLevel, (BlockItem) itemInHand.getItem(), pPlayer, pHand, pHit); + + return InteractionResult.PASS; + } + @Override public FluidState getFluidState(BlockState state) { return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : Fluids.EMPTY.defaultFluidState(); @@ -90,14 +142,12 @@ public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenc Property updateProperty = axis == Axis.X ? X : axis == Axis.Z ? Z : d == Direction.UP ? TOP : BOTTOM; BlockState sideState = level.getBlockState(pos.relative(d)); - if (axis.isVertical()) { - if (sideState.getBlock() == state.getBlock() && sideState.getValue(X) == sideState.getValue(Z)) - state = state.setValue(updateProperty, true); - else if (sideState.hasProperty(WallBlock.UP) && sideState.getValue(WallBlock.UP)) - state = state.setValue(updateProperty, true); - return state; - } + if (axis.isVertical()) + return updateVerticalProperty(level, pos, state, updateProperty, sideState, d); + if (sideState.getBlock() instanceof GirderEncasedShaftBlock + && sideState.getValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS) != axis) + state = state.setValue(updateProperty, true); if (sideState.getBlock() == state.getBlock() && sideState.getValue(updateProperty)) state = state.setValue(updateProperty, true); @@ -114,6 +164,28 @@ public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenc return state; } + public static BlockState updateVerticalProperty(LevelAccessor level, BlockPos pos, BlockState state, + Property updateProperty, BlockState sideState, Direction d) { + if (sideState.getBlock() == state.getBlock() && sideState.getValue(X) == sideState.getValue(Z)) + state = state.setValue(updateProperty, true); + else if (sideState.hasProperty(WallBlock.UP) && sideState.getValue(WallBlock.UP)) + state = state.setValue(updateProperty, true); + else if (sideState.hasBlockEntity()) { + BlockEntity blockEntity = level.getBlockEntity(pos.relative(d)); + if (!(blockEntity instanceof SmartTileEntity ste)) + return state; + BracketedTileEntityBehaviour behaviour = ste.getBehaviour(BracketedTileEntityBehaviour.TYPE); + if (behaviour == null) + return state; + BlockState bracket = behaviour.getBracket(); + if (!bracket.hasProperty(BracketBlock.FACING)) + return state; + if (bracket.getValue(BracketBlock.FACING) == d) + state = state.setValue(updateProperty, true); + } + return state; + } + @Override public VoxelShape getShape(BlockState state, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { boolean x = state.getValue(GirderBlock.X); @@ -127,4 +199,38 @@ public class GirderBlock extends Block implements SimpleWaterloggedBlock, IWrenc return false; } + public static boolean isConnected(BlockAndTintGetter world, BlockPos pos, BlockState state, Direction side) { + Axis axis = side.getAxis(); + if (state.getBlock() instanceof GirderBlock && !state.getValue(axis == Axis.X ? X : Z)) + return false; + if (state.getBlock() instanceof GirderEncasedShaftBlock + && state.getValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS) != axis) + return false; + BlockPos relative = pos.relative(side); + BlockState blockState = world.getBlockState(relative); + if (blockState.isAir()) + return false; + VoxelShape shape = blockState.getShape(world, relative); + if (shape.isEmpty()) + return false; + if (Block.isFaceFull(shape, side.getOpposite()) && blockState.getMaterial() + .isSolidBlocking()) + return true; + return AbstractChuteBlock.getChuteFacing(blockState) == Direction.DOWN; + } + + @Override + public BlockState rotate(BlockState state, Rotation rot) { + if (rot.rotate(Direction.EAST) + .getAxis() == Axis.X) + return state; + return state.setValue(X, state.getValue(Z)) + .setValue(Z, state.getValue(Z)); + } + + @Override + public BlockState mirror(BlockState state, Mirror mirrorIn) { + return state; + } + } diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlockStateGenerator.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlockStateGenerator.java index 9c1d7dcab..1c387539c 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlockStateGenerator.java +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderBlockStateGenerator.java @@ -5,11 +5,44 @@ import com.simibubi.create.foundation.utility.Iterate; import com.tterrag.registrate.providers.DataGenContext; import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.block.Block; import net.minecraftforge.client.model.generators.MultiPartBlockStateBuilder; public class GirderBlockStateGenerator { + public static void blockStateWithShaft(DataGenContext c, + RegistrateBlockstateProvider p) { + MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get()); + + builder.part() + .modelFile(AssetLookup.partialBaseModel(c, p)) + .rotationY(0) + .addModel() + .condition(GirderEncasedShaftBlock.HORIZONTAL_AXIS, Axis.Z) + .end(); + + builder.part() + .modelFile(AssetLookup.partialBaseModel(c, p)) + .rotationY(90) + .addModel() + .condition(GirderEncasedShaftBlock.HORIZONTAL_AXIS, Axis.X) + .end(); + + builder.part() + .modelFile(AssetLookup.partialBaseModel(c, p, "top")) + .addModel() + .condition(GirderEncasedShaftBlock.TOP, true) + .end(); + + builder.part() + .modelFile(AssetLookup.partialBaseModel(c, p, "bottom")) + .addModel() + .condition(GirderEncasedShaftBlock.BOTTOM, true) + .end(); + + } + public static void blockState(DataGenContext c, RegistrateBlockstateProvider p) { MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get()); diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderCTBehaviour.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderCTBehaviour.java new file mode 100644 index 000000000..91fe3cfde --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderCTBehaviour.java @@ -0,0 +1,32 @@ +package com.simibubi.create.content.curiosities.girder; + +import com.simibubi.create.AllSpriteShifts; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; + +public class GirderCTBehaviour extends ConnectedTextureBehaviour { + + @Override + public CTSpriteShiftEntry get(BlockState state, Direction direction) { + if (!state.hasProperty(GirderBlock.X)) + return null; + return !state.getValue(GirderBlock.X) && !state.getValue(GirderBlock.Z) && direction.getAxis() != Axis.Y + ? AllSpriteShifts.GIRDER_POLE + : null; + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos, + BlockPos otherPos, Direction face) { + if (other.getBlock() != state.getBlock()) + return false; + return !other.getValue(GirderBlock.X) && !other.getValue(GirderBlock.Z); + } + +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java new file mode 100644 index 000000000..17f28d3fd --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderEncasedShaftBlock.java @@ -0,0 +1,115 @@ +package com.simibubi.create.content.curiosities.girder; + +import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllShapes; +import com.simibubi.create.AllTileEntities; +import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; +import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.wrench.IWrenchable; +import com.simibubi.create.foundation.block.ITE; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.Property; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class GirderEncasedShaftBlock extends HorizontalAxisKineticBlock + implements ITE, SimpleWaterloggedBlock, IWrenchable { + + public static final BooleanProperty TOP = GirderBlock.TOP; + public static final BooleanProperty BOTTOM = GirderBlock.BOTTOM; + + public GirderEncasedShaftBlock(Properties properties) { + super(properties); + } + + @Override + protected void createBlockStateDefinition(Builder builder) { + super.createBlockStateDefinition(builder.add(TOP, BOTTOM, WATERLOGGED)); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return AllShapes.GIRDER_BEAM_SHAFT.get(pState.getValue(HORIZONTAL_AXIS)); + } + + @Override + public BlockState getRotatedBlockState(BlockState originalState, Direction targetedFace) { + return AllBlocks.METAL_GIRDER.getDefaultState() + .setValue(WATERLOGGED, originalState.getValue(WATERLOGGED)) + .setValue(GirderBlock.X, originalState.getValue(HORIZONTAL_AXIS) == Axis.Z) + .setValue(GirderBlock.Z, originalState.getValue(HORIZONTAL_AXIS) == Axis.X) + .setValue(GirderBlock.BOTTOM, originalState.getValue(BOTTOM)) + .setValue(GirderBlock.TOP, originalState.getValue(TOP)); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + InteractionResult onWrenched = super.onWrenched(state, context); + Player player = context.getPlayer(); + if (onWrenched == InteractionResult.SUCCESS && player != null && !player.isCreative()) + player.getInventory() + .placeItemBackInInventory(AllBlocks.SHAFT.asStack()); + return onWrenched; + } + + @Override + public Class getTileEntityClass() { + return KineticTileEntity.class; + } + + @Override + public BlockEntityType getTileEntityType() { + return AllTileEntities.ENCASED_SHAFT.get(); + } + + @Override + public FluidState getFluidState(BlockState state) { + return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : Fluids.EMPTY.defaultFluidState(); + } + + @Override + public BlockState updateShape(BlockState state, Direction direction, BlockState neighbourState, LevelAccessor world, + BlockPos pos, BlockPos neighbourPos) { + if (state.getValue(WATERLOGGED)) + world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world)); + + Property updateProperty = direction == Direction.UP ? TOP : BOTTOM; + if (direction.getAxis() + .isVertical()) { + state = state.setValue(updateProperty, false); + return GirderBlock.updateVerticalProperty(world, pos, state, updateProperty, neighbourState, direction); + } + + return state; + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + FluidState ifluidstate = level.getFluidState(pos); + BlockState state = super.getStateForPlacement(context); + return state.setValue(WATERLOGGED, Boolean.valueOf(ifluidstate.getType() == Fluids.WATER)); + } + +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/girder/GirderPlacementHelper.java b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderPlacementHelper.java new file mode 100644 index 000000000..f3e5b1694 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/girder/GirderPlacementHelper.java @@ -0,0 +1,103 @@ +package com.simibubi.create.content.curiosities.girder; + +import java.util.List; +import java.util.function.Predicate; + +import com.google.common.base.Predicates; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.curiosities.tools.ExtendoGripItem; +import com.simibubi.create.foundation.config.AllConfigs; +import com.simibubi.create.foundation.utility.placement.IPlacementHelper; +import com.simibubi.create.foundation.utility.placement.PlacementOffset; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.entity.ai.attributes.AttributeInstance; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraftforge.common.ForgeMod; + +public class GirderPlacementHelper implements IPlacementHelper { + + @Override + public Predicate getItemPredicate() { + return AllBlocks.METAL_GIRDER::isIn; + } + + @Override + public Predicate getStatePredicate() { + return Predicates.or(AllBlocks.METAL_GIRDER::has, AllBlocks.METAL_GIRDER_ENCASED_SHAFT::has); + } + + private boolean canExtendToward(BlockState state, Direction side) { + Axis axis = side.getAxis(); + if (state.getBlock() instanceof GirderBlock) { + boolean x = state.getValue(GirderBlock.X); + boolean z = state.getValue(GirderBlock.Z); + if (!x && !z) + return axis == Axis.Y; + if (x && z) + return true; + return axis == (x ? Axis.X : Axis.Z); + } + + if (state.getBlock() instanceof GirderEncasedShaftBlock) + return axis != Axis.Y && axis != state.getValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS); + + return false; + } + + private int attachedPoles(Level world, BlockPos pos, Direction direction) { + BlockPos checkPos = pos.relative(direction); + BlockState state = world.getBlockState(checkPos); + int count = 0; + while (canExtendToward(state, direction)) { + count++; + checkPos = checkPos.relative(direction); + state = world.getBlockState(checkPos); + } + return count; + } + + private BlockState withAxis(BlockState state, Axis axis) { + if (state.getBlock() instanceof GirderBlock) + return state.setValue(GirderBlock.X, axis == Axis.X) + .setValue(GirderBlock.Z, axis == Axis.Z); + if (state.getBlock() instanceof GirderEncasedShaftBlock && axis.isHorizontal()) + return state.setValue(GirderEncasedShaftBlock.HORIZONTAL_AXIS, axis == Axis.X ? Axis.Z : Axis.X); + return state; + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) { + List directions = + IPlacementHelper.orderedByDistance(pos, ray.getLocation(), dir -> canExtendToward(state, dir)); + for (Direction dir : directions) { + int range = AllConfigs.SERVER.curiosities.placementAssistRange.get(); + if (player != null) { + AttributeInstance reach = player.getAttribute(ForgeMod.REACH_DISTANCE.get()); + if (reach != null && reach.hasModifier(ExtendoGripItem.singleRangeAttributeModifier)) + range += 4; + } + int poles = attachedPoles(world, pos, dir); + if (poles >= range) + continue; + + BlockPos newPos = pos.relative(dir, poles + 1); + BlockState newState = world.getBlockState(newPos); + + if (!newState.getMaterial() + .isReplaceable()) + continue; + + return PlacementOffset.success(newPos, bState -> withAxis(bState, dir.getAxis())); + } + + return PlacementOffset.fail(); + } + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/ITrackBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/ITrackBlock.java index b77733ad0..ace7b5084 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/ITrackBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/ITrackBlock.java @@ -1,7 +1,11 @@ package com.simibubi.create.content.logistics.trains; +import java.util.List; + import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.utility.Iterate; +import com.simibubi.create.foundation.utility.Pair; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,14 +20,18 @@ public interface ITrackBlock { public Vec3 getUpNormal(BlockGetter world, BlockPos pos, BlockState state); - public Vec3 getTrackAxis(BlockGetter world, BlockPos pos, BlockState state); + public List getTrackAxes(BlockGetter world, BlockPos pos, BlockState state); public Vec3 getCurveStart(BlockGetter world, BlockPos pos, BlockState state, Vec3 axis); public BlockState getBogeyAnchor(BlockGetter world, BlockPos pos, BlockState state); // should be on bogey side - + public boolean trackEquals(BlockState state1, BlockState state2); + public default BlockState overlay(BlockGetter world, BlockPos pos, BlockState existing, BlockState placed) { + return existing; + } + @OnlyIn(Dist.CLIENT) public PartialModel prepareStationOverlay(BlockGetter world, BlockPos pos, BlockState state, AxisDirection direction, PoseStack transform); @@ -32,4 +40,26 @@ public interface ITrackBlock { public PartialModel prepareAssemblyOverlay(BlockGetter world, BlockPos pos, BlockState state, Direction direction, PoseStack ms); + public default boolean isSlope(BlockGetter world, BlockPos pos, BlockState state) { + return getTrackAxes(world, pos, state).get(0).y != 0; + } + + public default Pair getNearestTrackAxis(BlockGetter world, BlockPos pos, BlockState state, + Vec3 lookVec) { + Vec3 best = null; + double bestDiff = Double.MAX_VALUE; + for (Vec3 vec3 : getTrackAxes(world, pos, state)) { + for (int opposite : Iterate.positiveAndNegative) { + double distanceTo = vec3.normalize() + .distanceTo(lookVec.scale(opposite)); + if (distanceTo > bestDiff) + continue; + bestDiff = distanceTo; + best = vec3; + } + } + return Pair.of(best, lookVec.dot(best.multiply(1, 0, 1) + .normalize()) < 0 ? AxisDirection.POSITIVE : AxisDirection.NEGATIVE); + } + } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java b/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java index d716058c4..d6a7e9d96 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/TrackGraphHelper.java @@ -16,33 +16,33 @@ import net.minecraft.world.phys.Vec3; public class TrackGraphHelper { - public static GraphLocation getGraphLocationAt(Level level, BlockPos pos, AxisDirection targetDirection) { + public static GraphLocation getGraphLocationAt(Level level, BlockPos pos, AxisDirection targetDirection, + Vec3 targetAxis) { BlockState trackBlockState = level.getBlockState(pos); if (!(trackBlockState.getBlock()instanceof ITrackBlock track)) return null; - - Vec3 axis = track.getTrackAxis(level, pos, trackBlockState) - .scale(targetDirection.getStep()); + + Vec3 axis = targetAxis.scale(targetDirection.getStep()); double length = axis.length(); - + List> ends = TrackPropagator.getEnds(level, pos, trackBlockState, null, true); - + TrackGraph graph = null; TrackNode frontNode = null; TrackNode backNode = null; double position = 0; - + for (Pair pair : ends) { DiscoveredLocation current = pair.getSecond(); BlockPos currentPos = pair.getFirst(); Vec3 offset = Vec3.atLowerCornerOf(currentPos.subtract(pos)); boolean forward = offset.distanceToSqr(axis.scale(-1)) < 1 / 4096f; boolean backwards = offset.distanceToSqr(axis) < 1 / 4096f; - + if (!forward && !backwards) continue; - + for (int i = 0; i < 32; i++) { DiscoveredLocation loc = current; List> list = @@ -53,7 +53,7 @@ public class TrackGraphHelper { current = list.get(0) .getSecond(); } - + if (graph == null) graph = Create.RAILWAYS.getGraph(level, loc); if (graph == null) @@ -70,10 +70,10 @@ public class TrackGraphHelper { break; } } - + if (frontNode == null || backNode == null) return null; - + GraphLocation graphLocation = new GraphLocation(); graphLocation.edge = Couple.create(backNode.getLocation(), frontNode.getLocation()); graphLocation.position = position; @@ -81,9 +81,4 @@ public class TrackGraphHelper { return graphLocation; } - public static boolean getTrackDirectionByLookVec(Vec3 lookAngle, Level level, BlockPos pos, BlockState state, - ITrackBlock track) { - return lookAngle.dot(track.getTrackAxis(level, pos, state)) < 0; - } - } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/TrackPropagator.java b/src/main/java/com/simibubi/create/content/logistics/trains/TrackPropagator.java index 9e25e06fb..f7865ca83 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/TrackPropagator.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/TrackPropagator.java @@ -245,8 +245,8 @@ public class TrackPropagator { // PrevPos correction after a turn if (entry.currentNode.connectedViaTurn()) { boolean slope = false; - if (currentState.getBlock() instanceof ITrackBlock track) - slope = track.getTrackAxis(reader, entry.currentPos, currentState).y != 0; + if (currentState.getBlock()instanceof ITrackBlock track) + slope = track.isSlope(reader, entry.currentPos, currentState); BlockPos offset = new BlockPos(VecHelper.getCenterOf(entry.currentPos) .subtract(entry.currentNode.getLocation() .add(0, slope ? 0 : .5f, 0)) @@ -322,10 +322,10 @@ public class TrackPropagator { TrackShape shape = state.getValue(TrackBlock.SHAPE); if (shape != TrackShape.NONE) - addToSet(fromEnd, list, (d, b) -> shape.getAxis() - .scale(b ? d : -d) - .add(center) - .add(0, shape.getAxis().y == 0 ? -.5 : 0, 0), b -> shape.getNormal(), null); + shape.getAxes() + .forEach(axis -> addToSet(fromEnd, list, (d, b) -> axis.scale(b ? d : -d) + .add(center) + .add(0, axis.y == 0 ? -.5 : 0, 0), b -> shape.getNormal(), null)); return list; } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java index 898e7bb4f..e2703092e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/TrainRelocator.java @@ -108,9 +108,10 @@ public class TrainRelocator { BlockState blockState = level.getBlockState(pos); if (!(blockState.getBlock()instanceof ITrackBlock track)) return false; - boolean front = TrackGraphHelper.getTrackDirectionByLookVec(lookAngle, level, pos, blockState, track); + + Pair nearestTrackAxis = track.getNearestTrackAxis(level, pos, blockState, lookAngle); GraphLocation graphLocation = - TrackGraphHelper.getGraphLocationAt(level, pos, front ? AxisDirection.POSITIVE : AxisDirection.NEGATIVE); + TrackGraphHelper.getGraphLocationAt(level, pos, nearestTrackAxis.getSecond(), nearestTrackAxis.getFirst()); if (graphLocation == null) return false; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/StationTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/StationTileEntity.java index 00888f1e7..3c760fcee 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/StationTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/StationTileEntity.java @@ -193,7 +193,8 @@ public class StationTileEntity extends SmartTileEntity { BlockPos targetPosition = target.getGlobalPosition(); BlockState trackState = target.getTrackBlockState(); ITrackBlock track = target.getTrack(); - Vec3 trackAxis = track.getTrackAxis(level, targetPosition, trackState); + Vec3 trackAxis = track.getTrackAxes(level, targetPosition, trackState) + .get(0); boolean axisFound = false; for (Axis axis : Iterate.axes) { @@ -290,7 +291,8 @@ public class StationTileEntity extends SmartTileEntity { BlockState trackState = target.getTrackBlockState(); ITrackBlock track = target.getTrack(); AxisDirection axisDirection = target.getTargetDirection(); - Vec3 axis = track.getTrackAxis(level, targetPosition, trackState) + Vec3 axis = track.getTrackAxes(level, targetPosition, trackState) + .get(0) .normalize() .scale(axisDirection.getStep()); return assemblyDirection = Direction.getNearest(axis.x, axis.y, axis.z); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBehaviour.java index 9d4911ab3..7bee722a2 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBehaviour.java @@ -16,6 +16,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction.AxisDirection; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; +import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; @@ -75,7 +76,12 @@ public class TrackTargetingBehaviour extends TileEntityBehaviour { } public GraphLocation determineGraphLocation() { - return TrackGraphHelper.getGraphLocationAt(getWorld(), getGlobalPosition(), getTargetDirection()); + Level level = getWorld(); + BlockPos pos = getGlobalPosition(); + BlockState state = getTrackBlockState(); + return TrackGraphHelper.getGraphLocationAt(level, pos, getTargetDirection(), + getTrack().getTrackAxes(level, pos, state) + .get(0)); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBlockItem.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBlockItem.java index c87ea19e1..7576f3501 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBlockItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/TrackTargetingBlockItem.java @@ -2,12 +2,12 @@ package com.simibubi.create.content.logistics.trains.management; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.logistics.trains.ITrackBlock; -import com.simibubi.create.content.logistics.trains.TrackGraphHelper; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction.AxisDirection; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.world.InteractionResult; @@ -46,11 +46,17 @@ public class TrackTargetingBlockItem extends BlockItem { } if (state.getBlock()instanceof ITrackBlock track) { + if (track.getTrackAxes(level, pos, state).size() > 1) { + player.displayClientMessage(Lang.translate("track_target.no_junctions") + .withStyle(ChatFormatting.RED), true); + return InteractionResult.FAIL; + } if (level.isClientSide) return InteractionResult.SUCCESS; CompoundTag stackTag = stack.getOrCreateTag(); Vec3 lookAngle = player.getLookAngle(); - boolean front = TrackGraphHelper.getTrackDirectionByLookVec(lookAngle, level, pos, state, track); + boolean front = track.getNearestTrackAxis(level, pos, state, lookAngle) + .getSecond() == AxisDirection.POSITIVE; stackTag.put("SelectedPos", NbtUtils.writeBlockPos(pos)); stackTag.putBoolean("SelectedDirection", front); player.displayClientMessage(Lang.translate("track_target.set"), true); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java index 6f02b121f..e090dac84 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlock.java @@ -1,8 +1,10 @@ package com.simibubi.create.content.logistics.trains.track; +import java.util.List; import java.util.Map.Entry; import java.util.Random; +import com.google.common.collect.ImmutableList; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.util.transform.MatrixTransformStack; import com.mojang.blaze3d.vertex.PoseStack; @@ -65,14 +67,21 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac ZO("z_ortho", new Vec3(0, 0, 1)), XO("x_ortho", new Vec3(1, 0, 0)), PD("diag", new Vec3(1, 0, 1)), - ND("diag", 90, new Vec3(-1, 0, 1), new Vec3(0, 1, 0)), + ND("diag_2", new Vec3(-1, 0, 1)), AN("ascending", 180, new Vec3(0, 1, -1), new Vec3(0, 1, 1)), AS("ascending", 0, new Vec3(0, 1, 1), new Vec3(0, 1, -1)), AE("ascending", 270, new Vec3(1, 1, 0), new Vec3(-1, 1, 0)), - AW("ascending", 90, new Vec3(-1, 1, 0), new Vec3(1, 1, 0)); + AW("ascending", 90, new Vec3(-1, 1, 0), new Vec3(1, 1, 0)), + + CR_O("cross_ortho", new Vec3(0, 0, 1), new Vec3(1, 0, 0)), + CR_D("cross_diag", new Vec3(1, 0, 1), new Vec3(-1, 0, 1)), + CR_PDX("cross_d1_xo", new Vec3(1, 0, 0), new Vec3(1, 0, 1)), + CR_PDZ("cross_d1_zo", new Vec3(0, 0, 1), new Vec3(1, 0, 1)), + CR_NDX("cross_d2_xo", new Vec3(1, 0, 0), new Vec3(-1, 0, 1)), + CR_NDZ("cross_d2_zo", new Vec3(0, 0, 1), new Vec3(-1, 0, 1)); private String model; - private Vec3 axis; + private List axes; private int modelRotation; private Vec3 normal; @@ -80,11 +89,18 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac this(model, 0, axis, new Vec3(0, 1, 0)); } + private TrackShape(String model, Vec3 axis, Vec3 secondAxis) { + this.model = model; + this.modelRotation = 0; + this.normal = new Vec3(0, 1, 0); + this.axes = ImmutableList.of(axis, secondAxis); + } + private TrackShape(String model, int modelRotation, Vec3 axis, Vec3 normal) { this.model = model; this.modelRotation = modelRotation; this.normal = normal.normalize(); - this.axis = axis; + this.axes = ImmutableList.of(axis); } @Override @@ -96,8 +112,12 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac return model; } - public Vec3 getAxis() { - return axis; + public List getAxes() { + return axes; + } + + public boolean isJunction() { + return axes.size() > 1; } public Vec3 getNormal() { @@ -139,12 +159,13 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac TrackShape best = TrackShape.ZO; double bestValue = Float.MAX_VALUE; for (TrackShape shape : TrackShape.values()) { - double distance = Math.min(shape.getAxis() - .distanceToSqr(lookAngle), - shape.getAxis() - .normalize() - .scale(-1) - .distanceToSqr(lookAngle)); + if (shape.isJunction()) + continue; + Vec3 axis = shape.getAxes() + .get(0); + double distance = Math.min(axis.distanceToSqr(lookAngle), axis.normalize() + .scale(-1) + .distanceToSqr(lookAngle)); if (distance > bestValue) continue; bestValue = distance; @@ -152,12 +173,12 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac } Level level = ctx.getLevel(); - if (best.getAxis() - .lengthSqr() == 1) + Vec3 bestAxis = best.getAxes() + .get(0); + if (bestAxis.lengthSqr() == 1) for (boolean neg : Iterate.trueAndFalse) { BlockPos offset = ctx.getClickedPos() - .offset(new BlockPos(best.getAxis() - .scale(neg ? -1 : 1))); + .offset(new BlockPos(bestAxis.scale(neg ? -1 : 1))); if (level.getBlockState(offset) .isFaceSturdy(level, offset, Direction.UP)) { @@ -265,9 +286,9 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac } @Override - public Vec3 getTrackAxis(BlockGetter world, BlockPos pos, BlockState state) { + public List getTrackAxes(BlockGetter world, BlockPos pos, BlockState state) { return state.getValue(SHAPE) - .getAxis(); + .getAxes(); } @Override @@ -277,6 +298,37 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac .add(0, (vertical ? 0 : -.5f), 0) .add(axis.scale(.5)); } + + @Override + public BlockState overlay(BlockGetter world, BlockPos pos, BlockState existing, BlockState placed) { + if (placed.getBlock() != this) + return existing; + + TrackShape existingShape = existing.getValue(SHAPE); + TrackShape placedShape = placed.getValue(SHAPE); + TrackShape combinedShape = null; + + for (boolean flip : Iterate.trueAndFalse) { + TrackShape s1 = flip ? existingShape : placedShape; + TrackShape s2 = flip ? placedShape : existingShape; + if (s1 == TrackShape.XO && s2 == TrackShape.ZO) + combinedShape = TrackShape.CR_O; + if (s1 == TrackShape.PD && s2 == TrackShape.ND) + combinedShape = TrackShape.CR_D; + if (s1 == TrackShape.XO && s2 == TrackShape.PD) + combinedShape = TrackShape.CR_PDX; + if (s1 == TrackShape.ZO && s2 == TrackShape.PD) + combinedShape = TrackShape.CR_PDZ; + if (s1 == TrackShape.XO && s2 == TrackShape.ND) + combinedShape = TrackShape.CR_NDX; + if (s1 == TrackShape.ZO && s2 == TrackShape.ND) + combinedShape = TrackShape.CR_NDZ; + } + + if (combinedShape != null) + existing = existing.setValue(SHAPE, combinedShape); + return existing; + } @Override public BlockState getRotatedBlockState(BlockState state, Direction targetedFace) { @@ -314,7 +366,8 @@ public class TrackBlock extends Block implements EntityBlock, IWrenchable, ITrac public PartialModel prepareStationOverlay(BlockGetter world, BlockPos pos, BlockState state, AxisDirection direction, PoseStack ms) { Vec3 axis = state.getValue(SHAPE) - .getAxis(); + .getAxes() + .get(0); Vec3 directionVec = axis.scale(direction.getStep()) .normalize(); Vec3 normal = getUpNormal(world, pos, state); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockItem.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockItem.java index 1784e8b27..1007f12ad 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackBlockItem.java @@ -5,9 +5,11 @@ import com.simibubi.create.content.logistics.trains.ITrackBlock; import com.simibubi.create.content.logistics.trains.track.TrackPlacement.PlacementInfo; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction.AxisDirection; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.world.InteractionResult; @@ -110,12 +112,12 @@ public class TrackBlockItem extends BlockItem { return false; ITrackBlock track = (ITrackBlock) block; - Vec3 axis = track.getTrackAxis(world, pos, blockState); + Pair nearestTrackAxis = track.getNearestTrackAxis(world, pos, blockState, lookVec); + Vec3 axis = nearestTrackAxis.getFirst(); + boolean front = nearestTrackAxis.getSecond() == AxisDirection.POSITIVE; Vec3 normal = track.getUpNormal(world, pos, blockState) .normalize(); - boolean front = lookVec.dot(axis.multiply(1, 0, 1) - .normalize()) < 0; axis = axis.scale(front ? -1 : 1); Vec3 end = track.getCurveStart(world, pos, blockState, axis); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPaver.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPaver.java index e9893d651..6c0bb604b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPaver.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPaver.java @@ -9,11 +9,14 @@ import java.util.Set; import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.curiosities.girder.GirderBlock; import com.simibubi.create.content.logistics.trains.BezierConnection; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; import net.minecraft.util.Mth; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -29,13 +32,20 @@ public class TrackPaver { BlockState defaultBlockState = block.defaultBlockState(); if (defaultBlockState.hasProperty(SlabBlock.TYPE)) defaultBlockState = defaultBlockState.setValue(SlabBlock.TYPE, SlabType.DOUBLE); + boolean wallLike = isWallLike(defaultBlockState); + + if (defaultBlockState.getBlock() instanceof GirderBlock) + for (Direction d : Iterate.horizontalDirections) + if (Vec3.atLowerCornerOf(d.getNormal()) + .equals(direction)) + defaultBlockState = + defaultBlockState.setValue(d.getAxis() == Axis.X ? GirderBlock.X : GirderBlock.Z, true); Set toPlaceOn = new HashSet<>(); Vec3 start = VecHelper.getCenterOf(startPos); Vec3 mainNormal = direction.cross(new Vec3(0, 1, 0)); Vec3 normalizedNormal = mainNormal.normalize(); Vec3 normalizedDirection = direction.normalize(); - boolean wallLike = isWallLike(defaultBlockState); float diagFiller = 0.45f; for (int i = 0; i < extent; i++) { diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java index 234bc99cb..df84605af 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java @@ -1,7 +1,5 @@ package com.simibubi.create.content.logistics.trains.track; -import org.apache.commons.lang3.tuple.Pair; - import com.jozufozu.flywheel.util.Color; import com.simibubi.create.AllBlocks; import com.simibubi.create.CreateClient; @@ -11,6 +9,7 @@ import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; @@ -20,6 +19,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction.AxisDirection; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.nbt.Tag; @@ -83,11 +83,11 @@ public class TrackPlacement { cached = info; ITrackBlock track = (ITrackBlock) state2.getBlock(); - Vec3 axis2 = track.getTrackAxis(level, pos2, state2); + Pair nearestTrackAxis = track.getNearestTrackAxis(level, pos2, state2, lookVec); + Vec3 axis2 = nearestTrackAxis.getFirst(); + boolean front2 = nearestTrackAxis.getSecond() == AxisDirection.POSITIVE; Vec3 normal2 = track.getUpNormal(level, pos2, state2) .normalize(); - boolean front2 = lookVec.dot(axis2.multiply(1, 0, 1) - .normalize()) < 0; axis2 = axis2.scale(front2 ? -1 : 1); Vec3 normedAxis2 = axis2.normalize(); Vec3 end2 = track.getCurveStart(level, pos2, state2, axis2); @@ -329,9 +329,17 @@ public class TrackPlacement { Vec3 offset = axis.scale(i); BlockPos offsetPos = pos.offset(offset.x, offset.y, offset.z); BlockState stateAtPos = level.getBlockState(offsetPos); - if (stateAtPos.getBlock() != state.getBlock() && stateAtPos.getMaterial() - .isReplaceable()) - level.setBlock(offsetPos, state, 3); + BlockState toPlace = state; + + boolean canPlace = stateAtPos.getMaterial() + .isReplaceable(); + if (stateAtPos.getBlock()instanceof ITrackBlock trackAtPos) { + toPlace = trackAtPos.overlay(level, offsetPos, stateAtPos, toPlace); + canPlace = true; + } + + if (canPlace) + level.setBlock(offsetPos, toPlace, 3); } } diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index ce2068773..43f020106 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -637,6 +637,7 @@ "create.track_target.clear": "Cleared track selection", "create.track_target.missing": "Right-click the targeted train track first", "create.track_target.too_far": "Targeted track is too far from here", + "create.track_target.no_junctions": "Targeted track cannot be an intersection", "create.train.unnamed": "Unnamed Train", "create.train.cannot_relocate_moving": "Cannot relocate a moving Train", diff --git a/src/main/resources/assets/create/models/block/metal_girder/Girder.bbmodel b/src/main/resources/assets/create/models/block/metal_girder/Girder.bbmodel deleted file mode 100644 index 583bd45a4..000000000 --- a/src/main/resources/assets/create/models/block/metal_girder/Girder.bbmodel +++ /dev/null @@ -1 +0,0 @@ -{"meta":{"format_version":"4.0","creation_time":1644273873,"model_format":"java_block","box_uv":false},"name":"segment2","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","resolution":{"width":16,"height":16},"elements":[{"name":"cube","rescale":false,"locked":false,"from":[-2,-4,0],"to":[2,4,8],"autouv":0,"color":4,"origin":[8,8,8],"faces":{"north":{"uv":[8,1,12,3],"rotation":270,"texture":0},"east":{"uv":[0,5,4,9],"texture":0},"south":{"uv":[8,1,12,3],"rotation":270,"texture":0},"west":{"uv":[0,5,4,9],"texture":0},"up":{"uv":[0,0,4,16],"texture":null},"down":{"uv":[0,0,4,16],"texture":null}},"uuid":"3a05841c-acd9-87b3-84b6-52c43638a212"}],"outliner":["3a05841c-acd9-87b3-84b6-52c43638a212"],"textures":[{"path":"C:\\Users\\simon\\Desktop\\Modding\\Forge 18 Concealed\\Create\\src\\main\\resources\\assets\\create\\textures\\block\\girder.png","name":"girder.png","folder":"block","namespace":"create","id":"0","particle":false,"render_mode":"normal","visible":true,"mode":"bitmap","saved":true,"uuid":"ef4ef1c2-0c80-b18f-8f05-23e8a7be2c79","relative_path":"../../../../textures/block/girder.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA15JREFUWEe1V89rE0EUfmsxkERtE5KGpCmpNJYQaAtisS2tggQPIuRaDwV78s8Q+l94qtCDvQbEgxRBhVJRhNJLaQ9asAn5QdKoSUCple+1b51MN7vbJs5ld9978+ab7/2YWePRwsIxnY5mq0U+r1c+LZ+6TblSsbV3UhrZbPb45uQkfd7aYlsBgIXshsw5rP1wWsNWzwDEotFo8Kvf7z8zCTpd3ske8t+//hDYmZxIU6fNYLNGJpMxAbjZCkDIwrDHQpc9l9qmQtZsNlkWG4qY9pBjiD18mQB0x/q3rOAEQBZRAdgx3BaCTgxY0Q9btyGwY9YyCSVmnRIS8tTYGCdu10molqEdUr38rnm99L3V4kTrZhhPlpaO4Ugc4mk1dBv5/laqULlctpwTDodZNzQUZX1/f5Cf9XqVnwcHBXKVA3Y7DIVCVK2eONRHMBhkXbFQoK/7+1QsldgkMjhII4kERaJRMtLpiXOVob7IzMyUI4APm5uULxTapsaiUbo9PX0CwO/zmcrGaf1Cpr+LnSqfm5+jWq1myUAgEGDd6upzOjo6arPp6+ujxcXHZEzdmj7DABZQQXHJWcgg7xrA3Tv3GAAah++UCXl3kmFe8sb17kIAAGiN0lKlkwlfolPBQCdyNwBskxBngd7P1W8dmPRxkXs8HscyjMfjncvwvIeRnm2jw8PckGToXRRy6S3SuHCeoJu+WFszDDUEdvUulOuhicUGzbYsOvW0nJ+dpZ3dXVYBHO4RL1+95lMyl8sZro9juQtsb+/Q+HiKJ8MpWjkc7+19sawcAAyHQry43BOwGfgzAdQPf9ptnvoHrpiXkfxBkZLJEaZPBSByNRSQYW5PAeD0S40m6NnKCgOQG5UAkBzAbrExAY+Y5/Mls3oGAlf/MQCF3QCNEgI4RlyfLi+bAGQxMHMhAHCIxLAaDx/cp/cbG233QSy4vr5uhgBHMnarXr/gSxhwDAEY0FuvmdHNJqkMcFu2AGDlA+3bVRLq3U9nQrJW5MiDt+/emAzgdgSWrIarMnQLQEpQZUAuNBduRG47IZIQmY444/nx0yYz0O3gRgSa7CiUJBQAagh6AgDZKkex7hCnoNQyFkb9qiHoCQA3ThACAdBzBtwCkB+UnjOg/svpYBAaKcP/AeAvf7PKi3Z7paEAAAAASUVORK5CYII="},{"path":"C:\\Users\\simon\\Desktop\\Modding\\Forge 18 Concealed\\Create\\src\\main\\resources\\assets\\create\\textures\\block\\girder_pole.png","name":"girder_pole.png","folder":"block","namespace":"create","id":"1","particle":false,"render_mode":"normal","visible":true,"mode":"bitmap","saved":true,"uuid":"6e0346b1-88a8-d125-7920-cc325c435982","relative_path":"../../../../textures/block/girder_pole.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAATxJREFUOE+VU01Lw0AUnAgKSVCsVoV4UGrBXkpBFKRQBcm/NghVCOhBKb3opTdFD6aiJAGFRmbLhmfTdXVOIfsymY+3ThiGhe/78FwXK64L4j3PkeU50jTF1+cEq7VldU5wRp+/jT/gnJ6cFYtLCyAJwcHZj4fDe3Umsb5WQ7C9BYcKet0ubgeDUsVzkuCg08FVHGOjXsf1zR34gYTneQiCzamCLMsUm7ZBgqfHF+iheQR6Xikgs86Bz9JCa28H5/24oqAksGVAmSYLJK8oYMq0QLAFKtN22AbB9Ikyg99a4OCfa5Qh8u9EFEVOpUPxwmhBL1H/8uJ/BLMtWAlsLVgJbJtoyqDR2C/a7dbPTZR3QVdnUnB0eFw0m7vTPZBbKG8bgzQpoHW1SJTCi8K9l+D9eE3GGI0e5ragrX8DrJTpWQ0NmZIAAAAASUVORK5CYII="},{"path":"C:\\Users\\simon\\Desktop\\Modding\\Forge 18 Concealed\\Create\\src\\main\\resources\\assets\\create\\textures\\block\\chute_block.png","name":"chute_block.png","folder":"block","namespace":"create","id":"2","particle":true,"render_mode":"normal","visible":true,"mode":"bitmap","saved":true,"uuid":"06436a9e-8580-f22f-d11d-b911094407ec","relative_path":"../../../../textures/block/chute_block.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAATNJREFUOE+FU8FKw0AQnRVMyIaK/kchILb0IK30VE/5Y/HgQSot9EsUJRuSgitv4qyTuE3nMrC78+a9mbemLEtvs4wQV1lGn3XNufGeUmNCxr3cISNcXZN53Gz8Yj6n/eHAhxqMD34LpUDOiumU3nY7Mqvl2l8mF5TnORcDdQgiHTVIVVV0bL87BkmaCnCveEhZHqEJom2aPoB0lnmMSUAxgiVYm9ApFnoGIkGKnWs7BtIJIGMshLrQDwz0EAUMqxx21zMIQ4SE65tJb4XnQMAEMoKEmA9ig9QSbouCXrfb0z7Qrhz1wexu4a21nQSbBD/oreih8SZcy++cc+d9EOv+bwvrh/vwF5iJ+lwxM328fxFqnp5f/oyEhzEfjDHgLWAGnX5L8IMEPhd2Pcy4xyeCfsQP6j3lf7IDJssAAAAASUVORK5CYII="}]} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder/block_pole.json b/src/main/resources/assets/create/models/block/metal_girder/block_pole.json index 06f83a8e0..1398ba81a 100644 --- a/src/main/resources/assets/create/models/block/metal_girder/block_pole.json +++ b/src/main/resources/assets/create/models/block/metal_girder/block_pole.json @@ -2,6 +2,7 @@ "credit": "Made with Blockbench", "textures": { "1": "create:block/girder_pole", + "2": "create:block/girder_pole_side", "particle": "create:block/chute_block" }, "elements": [ @@ -9,10 +10,10 @@ "from": [4, 0, 4], "to": [12, 16, 12], "faces": { - "north": {"uv": [0, 0, 8, 16], "texture": "#1"}, - "east": {"uv": [0, 0, 8, 16], "texture": "#1"}, - "south": {"uv": [0, 0, 8, 16], "texture": "#1"}, - "west": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "north": {"uv": [4, 0, 12, 16], "texture": "#2"}, + "east": {"uv": [4, 0, 12, 16], "texture": "#2"}, + "south": {"uv": [4, 0, 12, 16], "texture": "#2"}, + "west": {"uv": [4, 0, 12, 16], "texture": "#2"}, "up": {"uv": [8, 0, 16, 8], "texture": "#1"}, "down": {"uv": [8, 0, 16, 8], "texture": "#1"} } diff --git a/src/main/resources/assets/create/models/block/metal_girder/bracket_east.json b/src/main/resources/assets/create/models/block/metal_girder/bracket_east.json new file mode 100644 index 000000000..205b8c5f7 --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder/bracket_east.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/metal_girder/block_x", + "textures": { + "0": "create:block/girder" + }, + "elements": [ + { + "from": [15, 0.95, 2.95], + "to": [18, 15.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6.5, 9, 5, 16], "texture": "#0"}, + "south": {"uv": [5, 9, 6.5, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 5, 16], "texture": "#0"}, + "up": {"uv": [6.5, 11, 8, 16], "texture": "#0"}, + "down": {"uv": [6.5, 11, 8, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder/bracket_north.json b/src/main/resources/assets/create/models/block/metal_girder/bracket_north.json new file mode 100644 index 000000000..0a3754e49 --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder/bracket_north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/metal_girder/block_x", + "textures": { + "0": "create:block/girder" + }, + "elements": [ + { + "from": [2.95, 0.95, -2], + "to": [13.05, 15.05, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [5, 9, 6.5, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 5, 16], "texture": "#0"}, + "west": {"uv": [6.5, 9, 5, 16], "texture": "#0"}, + "up": {"uv": [6.5, 11, 8, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.5, 11, 8, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder/bracket_south.json b/src/main/resources/assets/create/models/block/metal_girder/bracket_south.json new file mode 100644 index 000000000..93298a492 --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder/bracket_south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/metal_girder/block_x", + "textures": { + "0": "create:block/girder" + }, + "elements": [ + { + "from": [2.95, 0.95, 15], + "to": [13.05, 15.05, 18], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 9, 5, 16], "texture": "#0"}, + "east": {"uv": [6.5, 9, 5, 16], "texture": "#0"}, + "west": {"uv": [5, 9, 6.5, 16], "texture": "#0"}, + "up": {"uv": [6.5, 11, 8, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 11, 8, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder/bracket_west.json b/src/main/resources/assets/create/models/block/metal_girder/bracket_west.json new file mode 100644 index 000000000..05a490c2e --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder/bracket_west.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/metal_girder/block_x", + "textures": { + "0": "create:block/girder" + }, + "elements": [ + { + "from": [-2, 0.95, 2.95], + "to": [1, 15.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 9, 6.5, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 5, 16], "texture": "#0"}, + "south": {"uv": [6.5, 9, 5, 16], "texture": "#0"}, + "up": {"uv": [6.5, 11, 8, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 11, 8, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block.json b/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block.json new file mode 100644 index 000000000..35d960c0f --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/girder", + "particle": "create:block/chute_block" + }, + "elements": [ + { + "from": [0, 4, 6], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 5, 8, 9], "texture": "#0"}, + "east": {"uv": [8, 1, 12, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 5, 8, 9], "texture": "#0"}, + "west": {"uv": [8, 1, 12, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 2, 4], + "to": [16, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 4, 8, 5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [12, 2, 16, 3], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [12, 2, 16, 3], "texture": "#0"}, + "up": {"uv": [8, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 4], "texture": "#0"} + } + }, + { + "from": [0, 12, 4], + "to": [16, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 4, 8, 5], "texture": "#0"}, + "east": {"uv": [12, 1, 16, 2], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 5], "texture": "#0"}, + "west": {"uv": [12, 1, 16, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 16, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 4, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 4, 12, 8], "texture": "#0"}, + "south": {"uv": [12, 4, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 4, 12, 8], "texture": "#0"}, + "up": {"uv": [8, 4, 12, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 4, 12, 8], "rotation": 270, "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Beam X", + "origin": [8, 13, 8], + "color": 0, + "children": [0, 1, 2] + }, + { + "name": "Bearing", + "origin": [0, 0, 0], + "color": 0, + "children": [3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_bottom.json b/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_bottom.json new file mode 100644 index 000000000..6cef03c81 --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_bottom.json @@ -0,0 +1,30 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/girder", + "particle": "create:block/chute_block" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 5, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 8]}, + "faces": { + "north": {"uv": [13, 8, 15.5, 13], "rotation": 270, "texture": "#0"}, + "east": {"uv": [13, 8, 15.5, 13], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 8, 15.5, 13], "rotation": 270, "texture": "#0"}, + "west": {"uv": [13, 8, 15.5, 13], "rotation": 270, "texture": "#0"}, + "up": {"uv": [8, 8, 13, 13], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 8, 13, 13], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Brace", + "origin": [0, 0, 0], + "color": 0, + "children": [0] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_top.json b/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_top.json new file mode 100644 index 000000000..484fc1ddb --- /dev/null +++ b/src/main/resources/assets/create/models/block/metal_girder_encased_shaft/block_top.json @@ -0,0 +1,29 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/girder", + "particle": "create:block/chute_block" + }, + "elements": [ + { + "from": [3, 11, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [13, 8, 15.5, 13], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13, 8, 15.5, 13], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13, 8, 15.5, 13], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13, 8, 15.5, 13], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 8, 13, 13], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 8, 13, 13], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Brace", + "origin": [0, 0, 0], + "color": 0, + "children": [0] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d1_xo.json b/src/main/resources/assets/create/models/block/track/cross_d1_xo.json new file mode 100644 index 000000000..96ced4cc2 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d1_xo.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/track/obj_track", + "loader": "forge:obj", + "flip-v": true, + "model": "create:models/block/track/cross_d1_xo.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d1_xo.obj b/src/main/resources/assets/create/models/block/track/cross_d1_xo.obj new file mode 100644 index 000000000..6e13fb9d6 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d1_xo.obj @@ -0,0 +1,771 @@ +# Made in Blockbench 4.1.4 +mtllib track.mtl + +o cube1 +v 1.5584504630886133 0.12812500000000004 -0.3816737677919766 +v 1.3816737677919764 0.12812500000000004 -0.5584504630886136 +v 1.5584504630886133 -0.128125 -0.3816737677919766 +v 1.3816737677919764 -0.128125 -0.5584504630886136 +v 0.41161165235168157 0.12812500000000004 0.41161165235168157 +v 0.5883883476483185 0.12812500000000004 0.5883883476483185 +v 0.41161165235168157 -0.128125 0.41161165235168157 +v 0.5883883476483185 -0.128125 0.5883883476483185 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 8/8/2 3/7/2 1/6/2 6/5/2 +f 7/12/3 4/11/3 3/10/3 8/9/3 +o cube2 +v 1.2269941594074192 0.12812500000000004 -0.7131300714731708 +v 1.0502174641107824 0.12812500000000004 -0.8899067667698075 +v 1.2269941594074192 -0.128125 -0.7131300714731708 +v 1.0502174641107824 -0.128125 -0.8899067667698075 +v 0.0801553486704874 0.12812500000000004 0.08015534867048746 +v 0.25693204396712427 0.12812500000000004 0.2569320439671243 +v 0.0801553486704874 -0.128125 0.08015534867048746 +v 0.25693204396712427 -0.128125 0.2569320439671243 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 12/16/4 15/15/4 13/14/4 10/13/4 +f 16/20/5 11/19/5 9/18/5 14/17/5 +f 15/24/6 12/23/6 11/22/6 16/21/6 +o cube3 +v 0.5883883476483185 0.12812500000000004 0.5883883476483185 +v 0.41161165235168157 0.12812500000000004 0.41161165235168157 +v 0.5883883476483185 -0.128125 0.5883883476483185 +v 0.41161165235168157 -0.128125 0.41161165235168157 +v -0.5584504630886131 0.12812500000000004 1.3816737677919766 +v -0.38167376779197626 0.12812500000000004 1.5584504630886133 +v -0.5584504630886131 -0.128125 1.3816737677919766 +v -0.38167376779197626 -0.128125 1.5584504630886133 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 20/28/7 23/27/7 21/26/7 18/25/7 +f 24/32/8 19/31/8 17/30/8 22/29/8 +f 23/36/9 20/35/9 19/34/9 24/33/9 +o cube5 +v 1.8899067667698075 0.12812500000000004 -0.05021746411078254 +v 1.7131300714731708 0.12812500000000004 -0.2269941594074194 +v 1.8899067667698075 -0.128125 -0.05021746411078254 +v 1.7131300714731708 -0.128125 -0.2269941594074194 +v 0.7430679560328757 0.12812500000000004 0.7430679560328757 +v 0.9198446513295127 0.12812500000000004 0.9198446513295125 +v 0.7430679560328757 -0.128125 0.7430679560328757 +v 0.9198446513295127 -0.128125 0.9198446513295125 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 28/40/10 31/39/10 29/38/10 26/37/10 +f 32/44/11 27/43/11 25/42/11 30/41/11 +f 31/48/12 28/47/12 27/46/12 32/45/12 +o cube4 +v 0.9198446513295127 0.12812500000000004 0.9198446513295125 +v 0.7430679560328757 0.12812500000000004 0.7430679560328757 +v 0.9198446513295127 -0.128125 0.9198446513295125 +v 0.7430679560328757 -0.128125 0.7430679560328757 +v -0.22699415940741896 0.12812500000000004 1.7131300714731705 +v -0.050217464110782206 0.12812500000000004 1.8899067667698075 +v -0.22699415940741896 -0.128125 1.7131300714731705 +v -0.050217464110782206 -0.128125 1.8899067667698075 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 36/52/13 39/51/13 37/50/13 34/49/13 +f 40/56/14 35/55/14 33/54/14 38/53/14 +f 39/60/15 36/59/15 35/58/15 40/57/15 +o cube6 +v 0.25693204396712427 0.12812500000000004 0.2569320439671243 +v 0.0801553486704874 0.12812500000000004 0.08015534867048746 +v 0.25693204396712427 -0.128125 0.2569320439671243 +v 0.0801553486704874 -0.128125 0.08015534867048746 +v -0.8899067667698073 0.12812500000000004 1.0502174641107824 +v -0.7131300714731705 0.12812500000000004 1.2269941594074192 +v -0.8899067667698073 -0.128125 1.0502174641107824 +v -0.7131300714731705 -0.128125 1.2269941594074192 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 44/64/16 47/63/16 45/62/16 42/61/16 +f 48/68/17 43/67/17 41/66/17 46/65/17 +f 47/72/18 44/71/18 43/70/18 48/69/18 +o cube7 +v 0.3453203916154427 0.12812500000000004 0.34532039161544276 +v -0.00823299897783103 0.12812500000000004 -0.00823299897783103 +v 0.3453203916154427 -0.128125 0.34532039161544276 +v -0.00823299897783103 -0.128125 -0.00823299897783103 +v -0.9782951144181258 0.12812500000000004 0.9618291164624639 +v -0.624741723824852 0.12812500000000004 1.3153825070557377 +v -0.9782951144181258 -0.128125 0.9618291164624639 +v -0.624741723824852 -0.128125 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 55/76/19 56/75/19 54/74/19 53/73/19 +f 54/80/20 49/79/20 50/78/20 53/77/20 +o cube8 +v 0.6767766952966369 0.12812500000000004 0.6767766952966369 +v 0.32322330470336313 0.12812500000000004 0.32322330470336313 +v 0.6767766952966369 -0.128125 0.6767766952966369 +v 0.32322330470336313 -0.128125 0.32322330470336313 +v -0.6468388107369316 0.12812500000000004 1.293285420143658 +v -0.2932854201436579 0.12812500000000004 1.6468388107369318 +v -0.6468388107369316 -0.128125 1.293285420143658 +v -0.2932854201436579 -0.128125 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 63/84/21 64/83/21 62/82/21 61/81/21 +f 62/88/22 57/87/22 58/86/22 61/85/22 +o cube9 +v 1.0082329989778311 0.12812500000000004 1.0082329989778311 +v 0.6546796083845573 0.12812500000000004 0.6546796083845572 +v 1.0082329989778311 -0.128125 1.0082329989778311 +v 0.6546796083845573 -0.128125 0.6546796083845572 +v -0.31538250705573745 0.12812500000000004 1.6247417238248523 +v 0.03817088353753628 0.12812500000000004 1.978295114418126 +v -0.31538250705573745 -0.128125 1.6247417238248523 +v 0.03817088353753628 -0.128125 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 71/92/23 72/91/23 70/90/23 69/89/23 +f 70/96/24 65/95/24 66/94/24 69/93/24 +o cube10 +v 1.3153825070557377 0.12812500000000004 -0.6247417238248523 +v 0.9618291164624639 0.12812500000000004 -0.9782951144181262 +v 1.3153825070557377 -0.128125 -0.6247417238248523 +v 0.9618291164624639 -0.128125 -0.9782951144181262 +v -0.00823299897783103 0.12812500000000004 -0.00823299897783103 +v 0.3453203916154427 0.12812500000000004 0.34532039161544276 +v -0.00823299897783103 -0.128125 -0.00823299897783103 +v 0.3453203916154427 -0.128125 0.34532039161544276 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 75/100/25 76/99/25 74/98/25 73/97/25 +f 78/104/26 73/103/26 74/102/26 77/101/26 +o cube11 +v 1.6468388107369318 0.12812500000000004 -0.2932854201436582 +v 1.293285420143658 0.12812500000000004 -0.6468388107369321 +v 1.6468388107369318 -0.128125 -0.2932854201436582 +v 1.293285420143658 -0.128125 -0.6468388107369321 +v 0.32322330470336313 0.12812500000000004 0.32322330470336313 +v 0.6767766952966369 0.12812500000000004 0.6767766952966369 +v 0.32322330470336313 -0.128125 0.32322330470336313 +v 0.6767766952966369 -0.128125 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 83/108/27 84/107/27 82/106/27 81/105/27 +f 86/112/28 81/111/28 82/110/28 85/109/28 +o cube12 +v 1.978295114418126 0.12812500000000004 0.03817088353753595 +v 1.6247417238248523 0.12812500000000004 -0.3153825070557379 +v 1.978295114418126 -0.128125 0.03817088353753595 +v 1.6247417238248523 -0.128125 -0.3153825070557379 +v 0.6546796083845573 0.12812500000000004 0.6546796083845572 +v 1.0082329989778311 0.12812500000000004 1.0082329989778311 +v 0.6546796083845573 -0.128125 0.6546796083845572 +v 1.0082329989778311 -0.128125 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 91/116/29 92/115/29 90/114/29 89/113/29 +f 94/120/30 89/119/30 90/118/30 93/117/30 +o rail1 +v 1.7838407495918251 0.06562500000000004 0.2326252483638368 +v 0.7673747516361631 0.06562500000000004 -0.7838407495918251 +v 1.7838407495918251 0.0625 0.2326252483638368 +v 0.7673747516361631 0.0625 -0.7838407495918251 +v 0.5817592215746946 0.06562500000000004 -0.5982252195303568 +v 1.5982252195303568 0.06562500000000004 0.4182407784253054 +v 0.5817592215746946 0.0625 -0.5982252195303568 +v 1.5982252195303568 0.0625 0.4182407784253054 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 102/124/31 97/123/31 98/122/31 101/121/31 +f 103/128/32 100/127/32 99/126/32 104/125/32 +o rail2 +v 1.7794213322094095 0.34062499999999996 0.2370446657462525 +v 0.7629553342537474 0.34062499999999996 -0.7794213322094095 +v 1.7794213322094095 0.3375 0.2370446657462525 +v 0.7629553342537474 0.3375 -0.7794213322094095 +v 0.5861786389571104 0.34062499999999996 -0.6026446369127725 +v 1.6026446369127725 0.34062499999999996 0.41382136104288947 +v 0.5861786389571104 0.3375 -0.6026446369127725 +v 1.6026446369127725 0.3375 0.41382136104288947 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 110/132/33 105/131/33 106/130/33 109/129/33 +f 111/136/34 108/135/34 107/134/34 112/133/34 +o rail3 +v 1.7595339539885377 0.34062499999999996 0.2569320439671242 +v 0.7430679560328757 0.34062499999999996 -0.7595339539885377 +v 1.7595339539885377 0.06562500000000004 0.2569320439671242 +v 0.7430679560328757 0.06562500000000004 -0.7595339539885377 +v 0.606066017177982 0.34062499999999996 -0.6225320151336442 +v 1.6225320151336442 0.34062499999999996 0.39393398282201786 +v 0.606066017177982 0.06562500000000004 -0.6225320151336442 +v 1.6225320151336442 0.06562500000000004 0.39393398282201786 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 116/140/35 119/139/35 117/138/35 114/137/35 +f 115/144/36 116/143/36 114/142/36 113/141/36 +f 120/148/37 115/147/37 113/146/37 118/145/37 +f 119/152/38 120/151/38 118/150/38 117/149/38 +o rail4 +v 0.4138213610428896 0.34062499999999996 1.6026446369127725 +v -0.6026446369127725 0.34062499999999996 0.5861786389571105 +v 0.4138213610428896 0.3375 1.6026446369127725 +v -0.6026446369127725 0.3375 0.5861786389571105 +v -0.7794213322094095 0.34062499999999996 0.7629553342537474 +v 0.23704466574625271 0.34062499999999996 1.7794213322094095 +v -0.7794213322094095 0.3375 0.7629553342537474 +v 0.23704466574625271 0.3375 1.7794213322094095 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 126/156/39 121/155/39 122/154/39 125/153/39 +f 127/160/40 124/159/40 123/158/40 128/157/40 +o rail5 +v 0.39393398282201786 0.34062499999999996 1.6225320151336442 +v -0.6225320151336442 0.34062499999999996 0.6060660171779821 +v 0.39393398282201786 0.06562500000000004 1.6225320151336442 +v -0.6225320151336442 0.06562500000000004 0.6060660171779821 +v -0.7595339539885377 0.34062499999999996 0.7430679560328758 +v 0.2569320439671243 0.34062499999999996 1.7595339539885377 +v -0.7595339539885377 0.06562500000000004 0.7430679560328758 +v 0.2569320439671243 0.06562500000000004 1.7595339539885377 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 132/164/41 135/163/41 133/162/41 130/161/41 +f 131/168/42 132/167/42 130/166/42 129/165/42 +f 136/172/43 131/171/43 129/170/43 134/169/43 +f 135/176/44 136/175/44 134/174/44 133/173/44 +o rail6 +v 0.4182407784253055 0.06562500000000004 1.5982252195303568 +v -0.5982252195303566 0.06562500000000004 0.5817592215746946 +v 0.4182407784253055 0.0625 1.5982252195303568 +v -0.5982252195303566 0.0625 0.5817592215746946 +v -0.7838407495918251 0.06562500000000004 0.7673747516361634 +v 0.2326252483638368 0.06562500000000004 1.7838407495918256 +v -0.7838407495918251 0.0625 0.7673747516361634 +v 0.2326252483638368 0.0625 1.7838407495918256 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 142/180/45 137/179/45 138/178/45 141/177/45 +f 143/184/46 140/183/46 139/182/46 144/181/46 +o tie6a +v 1 0.06757812500000004 1.5968749999999998 +v 1 0.06757812500000004 1.334375 +v 1 0.064453125 1.5968749999999998 +v 1 0.064453125 1.334375 +v 0 0.06757812500000004 1.334375 +v 0 0.06757812500000004 1.5968749999999998 +v 0 0.064453125 1.334375 +v 0 0.064453125 1.5968749999999998 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 150/188/47 145/187/47 146/186/47 149/185/47 +f 151/192/48 148/191/48 147/190/48 152/189/48 +o cube1a +v 0.875 0.13007812500000004 0.5 +v 0.875 0.13007812500000004 -0.871875 +v 0.875 -0.126171875 0.5 +v 0.875 -0.126171875 -0.871875 +v 0.625 0.13007812500000004 -0.871875 +v 0.625 0.13007812500000004 0.5 +v 0.625 -0.126171875 -0.871875 +v 0.625 -0.126171875 0.5 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 155/196/49 156/195/49 154/194/49 153/193/49 +f 159/200/50 160/199/50 158/198/50 157/197/50 +f 159/204/51 156/203/51 155/202/51 160/201/51 +o cube2a +v 0.375 0.13007812500000004 0.5 +v 0.375 0.13007812500000004 -0.871875 +v 0.375 -0.126171875 0.5 +v 0.375 -0.126171875 -0.871875 +v 0.125 0.13007812500000004 -0.871875 +v 0.125 0.13007812500000004 0.5 +v 0.125 -0.126171875 -0.871875 +v 0.125 -0.126171875 0.5 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 163/208/52 164/207/52 162/206/52 161/205/52 +f 167/212/53 168/211/53 166/210/53 165/209/53 +f 167/216/54 164/215/54 163/214/54 168/213/54 +o cube3a +v 0.875 0.13007812500000004 1.8718750000000002 +v 0.875 0.13007812500000004 0.5 +v 0.875 -0.126171875 1.8718750000000002 +v 0.875 -0.126171875 0.5 +v 0.625 0.13007812500000004 0.5 +v 0.625 0.13007812500000004 1.8718750000000002 +v 0.625 -0.126171875 0.5 +v 0.625 -0.126171875 1.8718750000000002 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 171/220/55 172/219/55 170/218/55 169/217/55 +f 175/224/56 176/223/56 174/222/56 173/221/56 +f 175/228/57 172/227/57 171/226/57 176/225/57 +o cube4a +v 0.375 0.13007812500000004 1.8718750000000002 +v 0.375 0.13007812500000004 0.5 +v 0.375 -0.126171875 1.8718750000000002 +v 0.375 -0.126171875 0.5 +v 0.125 0.13007812500000004 0.5 +v 0.125 0.13007812500000004 1.8718750000000002 +v 0.125 -0.126171875 0.5 +v 0.125 -0.126171875 1.8718750000000002 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 179/232/58 180/231/58 178/230/58 177/229/58 +f 183/236/59 184/235/59 182/234/59 181/233/59 +f 183/240/60 180/239/60 179/238/60 184/237/60 +o cube5a +v 1 0.13007812500000004 1.8718750000000002 +v 1 0.13007812500000004 0.5 +v 1 -0.126171875 1.8718750000000002 +v 1 -0.126171875 0.5 +v 0 0.13007812500000004 0.5 +v 0 0.13007812500000004 1.8718750000000002 +v 0 -0.126171875 0.5 +v 0 -0.126171875 1.8718750000000002 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0 0.46875 +vt 0 0.96875 +vt 0.6859375 0.96875 +vt 0.6859375 0.46875 +vn 0 0 1 +vn 0 1 0 +usemtl m_1 +f 192/244/61 187/243/61 185/242/61 190/241/61 +f 190/248/62 185/247/62 186/246/62 189/245/62 +o cube6a +v 1 0.13007812500000004 0.5 +v 1 0.13007812500000004 -0.871875 +v 1 -0.126171875 0.5 +v 1 -0.126171875 -0.871875 +v 0 0.13007812500000004 -0.871875 +v 0 0.13007812500000004 0.5 +v 0 -0.126171875 -0.871875 +v 0 -0.126171875 0.5 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0.6859375 0.96875 +vt 0.6859375 0.46875 +vt 0 0.46875 +vt 0 0.96875 +vn 0 0 -1 +vn 0 1 0 +usemtl m_1 +f 196/252/63 199/251/63 197/250/63 194/249/63 +f 198/256/64 193/255/64 194/254/64 197/253/64 +o tie1a +v 1 0.06757812500000004 -0.334375 +v 1 0.06757812500000004 -0.596875 +v 1 0.064453125 -0.334375 +v 1 0.064453125 -0.596875 +v 0 0.06757812500000004 -0.596875 +v 0 0.06757812500000004 -0.334375 +v 0 0.064453125 -0.596875 +v 0 0.064453125 -0.334375 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 206/260/65 201/259/65 202/258/65 205/257/65 +f 207/264/66 204/263/66 203/262/66 208/261/66 +o tie2a +v 1 0.34257812499999996 -0.340625 +v 1 0.34257812499999996 -0.590625 +v 1 0.339453125 -0.340625 +v 1 0.339453125 -0.590625 +v 0 0.34257812499999996 -0.590625 +v 0 0.34257812499999996 -0.340625 +v 0 0.339453125 -0.590625 +v 0 0.339453125 -0.340625 +vt 0.5 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.5 0.28125 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 214/268/67 209/267/67 210/266/67 213/265/67 +f 215/272/68 212/271/68 211/270/68 216/269/68 +o tie3a +v 1 0.34257812499999996 -0.36875 +v 1 0.34257812499999996 -0.5625 +v 1 0.06757812500000004 -0.36875 +v 1 0.06757812500000004 -0.5625 +v 0 0.34257812499999996 -0.5625 +v 0 0.34257812499999996 -0.36875 +v 0 0.06757812500000004 -0.5625 +v 0 0.06757812500000004 -0.36875 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 220/276/69 223/275/69 221/274/69 218/273/69 +f 219/280/70 220/279/70 218/278/70 217/277/70 +f 224/284/71 219/283/71 217/282/71 222/281/71 +f 223/288/72 224/287/72 222/286/72 221/285/72 +o tie4a +v 1 0.34257812499999996 1.5906250000000002 +v 1 0.34257812499999996 1.340625 +v 1 0.339453125 1.5906250000000002 +v 1 0.339453125 1.340625 +v 0 0.34257812499999996 1.340625 +v 0 0.34257812499999996 1.5906250000000002 +v 0 0.339453125 1.340625 +v 0 0.339453125 1.5906250000000002 +vt 0.5 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.5 0.15625 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 230/292/73 225/291/73 226/290/73 229/289/73 +f 231/296/74 228/295/74 227/294/74 232/293/74 +o tie5a +v 1 0.34257812499999996 1.5625 +v 1 0.34257812499999996 1.36875 +v 1 0.06757812500000004 1.5625 +v 1 0.06757812500000004 1.36875 +v 0 0.34257812499999996 1.36875 +v 0 0.34257812499999996 1.5625 +v 0 0.06757812500000004 1.36875 +v 0 0.06757812500000004 1.5625 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 236/300/75 239/299/75 237/298/75 234/297/75 +f 235/304/76 236/303/76 234/302/76 233/301/76 +f 240/308/77 235/307/77 233/306/77 238/305/77 +f 239/312/78 240/311/78 238/310/78 237/309/78 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d1_xo_template.json b/src/main/resources/assets/create/models/block/track/cross_d1_xo_template.json new file mode 100644 index 000000000..4009870d3 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d1_xo_template.json @@ -0,0 +1,349 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip" + }, + "elements": [ + { + "name": "cube1", + "from": [16, 5.95, 14], + "to": [37.95, 10.05, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [16, 5.95, 6.5], + "to": [37.95, 10.05, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [-5.95, 5.95, 14], + "to": [16, 10.05, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [16, 5.95, 21.5], + "to": [37.95, 10.05, 25.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [-5.95, 5.95, 21.5], + "to": [16, 10.05, 25.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube6", + "from": [-5.95, 5.95, 6.5], + "to": [16, 10.05, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube7", + "from": [-5.95, 5.95, 4.5], + "to": [16, 10.05, 12.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube8", + "from": [-5.95, 5.95, 12], + "to": [16, 10.05, 20], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube9", + "from": [-5.95, 5.95, 19.5], + "to": [16, 10.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube10", + "from": [16, 5.95, 4.5], + "to": [37.95, 10.05, 12.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "cube11", + "from": [16, 5.95, 12], + "to": [37.95, 10.05, 20], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "cube12", + "from": [16, 5.95, 19.5], + "to": [37.95, 10.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "rail1", + "from": [29.35, 9, 4.5], + "to": [33.55, 9.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail2", + "from": [29.45, 13.4, 4.5], + "to": [33.45, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail3", + "from": [29.9, 9.05, 4.5], + "to": [33, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "east": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "south": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "west": {"uv": [0, 6, 11.5, 8], "texture": "#1"} + } + }, + { + "name": "rail4", + "from": [-1.45, 13.4, 4.5], + "to": [2.55, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail5", + "from": [-1, 9.05, 4.5], + "to": [2.1, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "east": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "south": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11.5, 6, 0, 8], "texture": "#1"} + } + }, + { + "name": "rail6", + "from": [-1.55, 9, 4.5], + "to": [2.65, 9.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie6a", + "from": [8, 9.03125, 29.35], + "to": [24, 9.08125, 33.55], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "texture": "#1"} + } + }, + { + "name": "cube1a", + "from": [18, 5.98125, -5.95], + "to": [22, 10.08125, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube2a", + "from": [10, 5.98125, -5.95], + "to": [14, 10.08125, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube3a", + "from": [18, 5.98125, 16], + "to": [22, 10.08125, 37.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4a", + "from": [10, 5.98125, 16], + "to": [14, 10.08125, 37.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube5a", + "from": [8, 5.98125, 16], + "to": [24, 10.08125, 37.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "south": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube6a", + "from": [8, 5.98125, -5.95], + "to": [24, 10.08125, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "tie1a", + "from": [8, 9.03125, -1.55], + "to": [24, 9.08125, 2.65], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "texture": "#1"} + } + }, + { + "name": "tie2a", + "from": [8, 13.43125, -1.45], + "to": [24, 13.48125, 2.55], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "texture": "#1"} + } + }, + { + "name": "tie3a", + "from": [8, 9.08125, -1], + "to": [24, 13.48125, 2.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "tie4a", + "from": [8, 13.43125, 29.45], + "to": [24, 13.48125, 33.45], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "texture": "#1"} + } + }, + { + "name": "tie5a", + "from": [8, 9.08125, 29.9], + "to": [24, 13.48125, 33], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] + }, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d1_zo.json b/src/main/resources/assets/create/models/block/track/cross_d1_zo.json new file mode 100644 index 000000000..2c8a79c55 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d1_zo.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/track/obj_track", + "loader": "forge:obj", + "flip-v": true, + "model": "create:models/block/track/cross_d1_zo.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d1_zo.obj b/src/main/resources/assets/create/models/block/track/cross_d1_zo.obj new file mode 100644 index 000000000..f94ae5428 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d1_zo.obj @@ -0,0 +1,771 @@ +# Made in Blockbench 4.1.4 +mtllib track.mtl + +o cube1 +v 1.5584504630886133 0.12812500000000004 -0.3816737677919766 +v 1.3816737677919764 0.12812500000000004 -0.5584504630886136 +v 1.5584504630886133 -0.128125 -0.3816737677919766 +v 1.3816737677919764 -0.128125 -0.5584504630886136 +v 0.41161165235168157 0.12812500000000004 0.41161165235168157 +v 0.5883883476483185 0.12812500000000004 0.5883883476483185 +v 0.41161165235168157 -0.128125 0.41161165235168157 +v 0.5883883476483185 -0.128125 0.5883883476483185 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 8/8/2 3/7/2 1/6/2 6/5/2 +f 7/12/3 4/11/3 3/10/3 8/9/3 +o cube2 +v 1.2269941594074192 0.12812500000000004 -0.7131300714731708 +v 1.0502174641107824 0.12812500000000004 -0.8899067667698075 +v 1.2269941594074192 -0.128125 -0.7131300714731708 +v 1.0502174641107824 -0.128125 -0.8899067667698075 +v 0.0801553486704874 0.12812500000000004 0.08015534867048746 +v 0.25693204396712427 0.12812500000000004 0.2569320439671243 +v 0.0801553486704874 -0.128125 0.08015534867048746 +v 0.25693204396712427 -0.128125 0.2569320439671243 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 12/16/4 15/15/4 13/14/4 10/13/4 +f 16/20/5 11/19/5 9/18/5 14/17/5 +f 15/24/6 12/23/6 11/22/6 16/21/6 +o cube3 +v 0.5883883476483185 0.12812500000000004 0.5883883476483185 +v 0.41161165235168157 0.12812500000000004 0.41161165235168157 +v 0.5883883476483185 -0.128125 0.5883883476483185 +v 0.41161165235168157 -0.128125 0.41161165235168157 +v -0.5584504630886131 0.12812500000000004 1.3816737677919766 +v -0.38167376779197626 0.12812500000000004 1.5584504630886133 +v -0.5584504630886131 -0.128125 1.3816737677919766 +v -0.38167376779197626 -0.128125 1.5584504630886133 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 20/28/7 23/27/7 21/26/7 18/25/7 +f 24/32/8 19/31/8 17/30/8 22/29/8 +f 23/36/9 20/35/9 19/34/9 24/33/9 +o cube5 +v 1.8899067667698075 0.12812500000000004 -0.05021746411078254 +v 1.7131300714731708 0.12812500000000004 -0.2269941594074194 +v 1.8899067667698075 -0.128125 -0.05021746411078254 +v 1.7131300714731708 -0.128125 -0.2269941594074194 +v 0.7430679560328757 0.12812500000000004 0.7430679560328757 +v 0.9198446513295127 0.12812500000000004 0.9198446513295125 +v 0.7430679560328757 -0.128125 0.7430679560328757 +v 0.9198446513295127 -0.128125 0.9198446513295125 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 28/40/10 31/39/10 29/38/10 26/37/10 +f 32/44/11 27/43/11 25/42/11 30/41/11 +f 31/48/12 28/47/12 27/46/12 32/45/12 +o cube4 +v 0.9198446513295127 0.12812500000000004 0.9198446513295125 +v 0.7430679560328757 0.12812500000000004 0.7430679560328757 +v 0.9198446513295127 -0.128125 0.9198446513295125 +v 0.7430679560328757 -0.128125 0.7430679560328757 +v -0.22699415940741896 0.12812500000000004 1.7131300714731705 +v -0.050217464110782206 0.12812500000000004 1.8899067667698075 +v -0.22699415940741896 -0.128125 1.7131300714731705 +v -0.050217464110782206 -0.128125 1.8899067667698075 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 36/52/13 39/51/13 37/50/13 34/49/13 +f 40/56/14 35/55/14 33/54/14 38/53/14 +f 39/60/15 36/59/15 35/58/15 40/57/15 +o cube6 +v 0.25693204396712427 0.12812500000000004 0.2569320439671243 +v 0.0801553486704874 0.12812500000000004 0.08015534867048746 +v 0.25693204396712427 -0.128125 0.2569320439671243 +v 0.0801553486704874 -0.128125 0.08015534867048746 +v -0.8899067667698073 0.12812500000000004 1.0502174641107824 +v -0.7131300714731705 0.12812500000000004 1.2269941594074192 +v -0.8899067667698073 -0.128125 1.0502174641107824 +v -0.7131300714731705 -0.128125 1.2269941594074192 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 44/64/16 47/63/16 45/62/16 42/61/16 +f 48/68/17 43/67/17 41/66/17 46/65/17 +f 47/72/18 44/71/18 43/70/18 48/69/18 +o cube7 +v 0.3453203916154427 0.12812500000000004 0.34532039161544276 +v -0.00823299897783103 0.12812500000000004 -0.00823299897783103 +v 0.3453203916154427 -0.128125 0.34532039161544276 +v -0.00823299897783103 -0.128125 -0.00823299897783103 +v -0.9782951144181258 0.12812500000000004 0.9618291164624639 +v -0.624741723824852 0.12812500000000004 1.3153825070557377 +v -0.9782951144181258 -0.128125 0.9618291164624639 +v -0.624741723824852 -0.128125 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 55/76/19 56/75/19 54/74/19 53/73/19 +f 54/80/20 49/79/20 50/78/20 53/77/20 +o cube8 +v 0.6767766952966369 0.12812500000000004 0.6767766952966369 +v 0.32322330470336313 0.12812500000000004 0.32322330470336313 +v 0.6767766952966369 -0.128125 0.6767766952966369 +v 0.32322330470336313 -0.128125 0.32322330470336313 +v -0.6468388107369316 0.12812500000000004 1.293285420143658 +v -0.2932854201436579 0.12812500000000004 1.6468388107369318 +v -0.6468388107369316 -0.128125 1.293285420143658 +v -0.2932854201436579 -0.128125 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 63/84/21 64/83/21 62/82/21 61/81/21 +f 62/88/22 57/87/22 58/86/22 61/85/22 +o cube9 +v 1.0082329989778311 0.12812500000000004 1.0082329989778311 +v 0.6546796083845573 0.12812500000000004 0.6546796083845572 +v 1.0082329989778311 -0.128125 1.0082329989778311 +v 0.6546796083845573 -0.128125 0.6546796083845572 +v -0.31538250705573745 0.12812500000000004 1.6247417238248523 +v 0.03817088353753628 0.12812500000000004 1.978295114418126 +v -0.31538250705573745 -0.128125 1.6247417238248523 +v 0.03817088353753628 -0.128125 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 71/92/23 72/91/23 70/90/23 69/89/23 +f 70/96/24 65/95/24 66/94/24 69/93/24 +o cube10 +v 1.3153825070557377 0.12812500000000004 -0.6247417238248523 +v 0.9618291164624639 0.12812500000000004 -0.9782951144181262 +v 1.3153825070557377 -0.128125 -0.6247417238248523 +v 0.9618291164624639 -0.128125 -0.9782951144181262 +v -0.00823299897783103 0.12812500000000004 -0.00823299897783103 +v 0.3453203916154427 0.12812500000000004 0.34532039161544276 +v -0.00823299897783103 -0.128125 -0.00823299897783103 +v 0.3453203916154427 -0.128125 0.34532039161544276 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 75/100/25 76/99/25 74/98/25 73/97/25 +f 78/104/26 73/103/26 74/102/26 77/101/26 +o cube11 +v 1.6468388107369318 0.12812500000000004 -0.2932854201436582 +v 1.293285420143658 0.12812500000000004 -0.6468388107369321 +v 1.6468388107369318 -0.128125 -0.2932854201436582 +v 1.293285420143658 -0.128125 -0.6468388107369321 +v 0.32322330470336313 0.12812500000000004 0.32322330470336313 +v 0.6767766952966369 0.12812500000000004 0.6767766952966369 +v 0.32322330470336313 -0.128125 0.32322330470336313 +v 0.6767766952966369 -0.128125 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 83/108/27 84/107/27 82/106/27 81/105/27 +f 86/112/28 81/111/28 82/110/28 85/109/28 +o cube12 +v 1.978295114418126 0.12812500000000004 0.03817088353753595 +v 1.6247417238248523 0.12812500000000004 -0.3153825070557379 +v 1.978295114418126 -0.128125 0.03817088353753595 +v 1.6247417238248523 -0.128125 -0.3153825070557379 +v 0.6546796083845573 0.12812500000000004 0.6546796083845572 +v 1.0082329989778311 0.12812500000000004 1.0082329989778311 +v 0.6546796083845573 -0.128125 0.6546796083845572 +v 1.0082329989778311 -0.128125 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 91/116/29 92/115/29 90/114/29 89/113/29 +f 94/120/30 89/119/30 90/118/30 93/117/30 +o rail1 +v 1.7838407495918251 0.06562500000000004 0.2326252483638368 +v 0.7673747516361631 0.06562500000000004 -0.7838407495918251 +v 1.7838407495918251 0.0625 0.2326252483638368 +v 0.7673747516361631 0.0625 -0.7838407495918251 +v 0.5817592215746946 0.06562500000000004 -0.5982252195303568 +v 1.5982252195303568 0.06562500000000004 0.4182407784253054 +v 0.5817592215746946 0.0625 -0.5982252195303568 +v 1.5982252195303568 0.0625 0.4182407784253054 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 102/124/31 97/123/31 98/122/31 101/121/31 +f 103/128/32 100/127/32 99/126/32 104/125/32 +o rail2 +v 1.7794213322094095 0.34062499999999996 0.2370446657462525 +v 0.7629553342537474 0.34062499999999996 -0.7794213322094095 +v 1.7794213322094095 0.3375 0.2370446657462525 +v 0.7629553342537474 0.3375 -0.7794213322094095 +v 0.5861786389571104 0.34062499999999996 -0.6026446369127725 +v 1.6026446369127725 0.34062499999999996 0.41382136104288947 +v 0.5861786389571104 0.3375 -0.6026446369127725 +v 1.6026446369127725 0.3375 0.41382136104288947 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 110/132/33 105/131/33 106/130/33 109/129/33 +f 111/136/34 108/135/34 107/134/34 112/133/34 +o rail3 +v 1.7595339539885377 0.34062499999999996 0.2569320439671242 +v 0.7430679560328757 0.34062499999999996 -0.7595339539885377 +v 1.7595339539885377 0.06562500000000004 0.2569320439671242 +v 0.7430679560328757 0.06562500000000004 -0.7595339539885377 +v 0.606066017177982 0.34062499999999996 -0.6225320151336442 +v 1.6225320151336442 0.34062499999999996 0.39393398282201786 +v 0.606066017177982 0.06562500000000004 -0.6225320151336442 +v 1.6225320151336442 0.06562500000000004 0.39393398282201786 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 116/140/35 119/139/35 117/138/35 114/137/35 +f 115/144/36 116/143/36 114/142/36 113/141/36 +f 120/148/37 115/147/37 113/146/37 118/145/37 +f 119/152/38 120/151/38 118/150/38 117/149/38 +o rail4 +v 0.4138213610428896 0.34062499999999996 1.6026446369127725 +v -0.6026446369127725 0.34062499999999996 0.5861786389571105 +v 0.4138213610428896 0.3375 1.6026446369127725 +v -0.6026446369127725 0.3375 0.5861786389571105 +v -0.7794213322094095 0.34062499999999996 0.7629553342537474 +v 0.23704466574625271 0.34062499999999996 1.7794213322094095 +v -0.7794213322094095 0.3375 0.7629553342537474 +v 0.23704466574625271 0.3375 1.7794213322094095 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 126/156/39 121/155/39 122/154/39 125/153/39 +f 127/160/40 124/159/40 123/158/40 128/157/40 +o rail5 +v 0.39393398282201786 0.34062499999999996 1.6225320151336442 +v -0.6225320151336442 0.34062499999999996 0.6060660171779821 +v 0.39393398282201786 0.06562500000000004 1.6225320151336442 +v -0.6225320151336442 0.06562500000000004 0.6060660171779821 +v -0.7595339539885377 0.34062499999999996 0.7430679560328758 +v 0.2569320439671243 0.34062499999999996 1.7595339539885377 +v -0.7595339539885377 0.06562500000000004 0.7430679560328758 +v 0.2569320439671243 0.06562500000000004 1.7595339539885377 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 132/164/41 135/163/41 133/162/41 130/161/41 +f 131/168/42 132/167/42 130/166/42 129/165/42 +f 136/172/43 131/171/43 129/170/43 134/169/43 +f 135/176/44 136/175/44 134/174/44 133/173/44 +o rail6 +v 0.4182407784253055 0.06562500000000004 1.5982252195303568 +v -0.5982252195303566 0.06562500000000004 0.5817592215746946 +v 0.4182407784253055 0.0625 1.5982252195303568 +v -0.5982252195303566 0.0625 0.5817592215746946 +v -0.7838407495918251 0.06562500000000004 0.7673747516361634 +v 0.2326252483638368 0.06562500000000004 1.7838407495918256 +v -0.7838407495918251 0.0625 0.7673747516361634 +v 0.2326252483638368 0.0625 1.7838407495918256 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 142/180/45 137/179/45 138/178/45 141/177/45 +f 143/184/46 140/183/46 139/182/46 144/181/46 +o cube1a +v 1.8718750000000002 0.13398437500000004 0.875 +v 1.8718750000000002 0.13398437500000004 0.625 +v 1.8718750000000002 -0.12226562499999999 0.875 +v 1.8718750000000002 -0.12226562499999999 0.625 +v 0.5 0.13398437500000004 0.625 +v 0.5 0.13398437500000004 0.875 +v 0.5 -0.12226562499999999 0.625 +v 0.5 -0.12226562499999999 0.875 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 148/188/47 151/187/47 149/186/47 146/185/47 +f 152/192/48 147/191/48 145/190/48 150/189/48 +f 151/196/49 148/195/49 147/194/49 152/193/49 +o cube2a +v 1.8718750000000002 0.13398437500000004 0.375 +v 1.8718750000000002 0.13398437500000004 0.125 +v 1.8718750000000002 -0.12226562499999999 0.375 +v 1.8718750000000002 -0.12226562499999999 0.125 +v 0.5 0.13398437500000004 0.125 +v 0.5 0.13398437500000004 0.375 +v 0.5 -0.12226562499999999 0.125 +v 0.5 -0.12226562499999999 0.375 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 156/200/50 159/199/50 157/198/50 154/197/50 +f 160/204/51 155/203/51 153/202/51 158/201/51 +f 159/208/52 156/207/52 155/206/52 160/205/52 +o cube3a +v 0.5 0.13398437500000004 0.875 +v 0.5 0.13398437500000004 0.625 +v 0.5 -0.12226562499999999 0.875 +v 0.5 -0.12226562499999999 0.625 +v -0.871875 0.13398437500000004 0.625 +v -0.871875 0.13398437500000004 0.875 +v -0.871875 -0.12226562499999999 0.625 +v -0.871875 -0.12226562499999999 0.875 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 164/212/53 167/211/53 165/210/53 162/209/53 +f 168/216/54 163/215/54 161/214/54 166/213/54 +f 167/220/55 164/219/55 163/218/55 168/217/55 +o cube4a +v 0.5 0.13398437500000004 0.375 +v 0.5 0.13398437500000004 0.125 +v 0.5 -0.12226562499999999 0.375 +v 0.5 -0.12226562499999999 0.125 +v -0.871875 0.13398437500000004 0.125 +v -0.871875 0.13398437500000004 0.375 +v -0.871875 -0.12226562499999999 0.125 +v -0.871875 -0.12226562499999999 0.375 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 172/224/56 175/223/56 173/222/56 170/221/56 +f 176/228/57 171/227/57 169/226/57 174/225/57 +f 175/232/58 172/231/58 171/230/58 176/229/58 +o cube5a +v 0.5 0.13398437500000004 1 +v 0.5 0.13398437500000004 0 +v 0.5 -0.12226562499999999 1 +v 0.5 -0.12226562499999999 0 +v -0.871875 0.13398437500000004 0 +v -0.871875 0.13398437500000004 1 +v -0.871875 -0.12226562499999999 0 +v -0.871875 -0.12226562499999999 1 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0.6859375 0.46875 +vt 0 0.46875 +vt 0 0.96875 +vt 0.6859375 0.96875 +vn -1 0 0 +vn 0 1 0 +usemtl m_1 +f 183/236/59 184/235/59 182/234/59 181/233/59 +f 182/240/60 177/239/60 178/238/60 181/237/60 +o cube6a +v 1.8718750000000002 0.13398437500000004 1 +v 1.8718750000000002 0.13398437500000004 0 +v 1.8718750000000002 -0.12226562499999999 1 +v 1.8718750000000002 -0.12226562499999999 0 +v 0.5 0.13398437500000004 0 +v 0.5 0.13398437500000004 1 +v 0.5 -0.12226562499999999 0 +v 0.5 -0.12226562499999999 1 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0 0.96875 +vt 0.6859375 0.96875 +vt 0.6859375 0.46875 +vt 0 0.46875 +vn 1 0 0 +vn 0 1 0 +usemtl m_1 +f 187/244/61 188/243/61 186/242/61 185/241/61 +f 190/248/62 185/247/62 186/246/62 189/245/62 +o tie1a +v 1.5968749999999998 0.07148437500000004 1 +v 1.5968749999999998 0.07148437500000004 0 +v 1.5968749999999998 0.068359375 1 +v 1.5968749999999998 0.068359375 0 +v 1.334375 0.07148437500000004 0 +v 1.334375 0.07148437500000004 1 +v 1.334375 0.068359375 0 +v 1.334375 0.068359375 1 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 198/252/63 193/251/63 194/250/63 197/249/63 +f 199/256/64 196/255/64 195/254/64 200/253/64 +o tie2a +v 1.5906250000000002 0.34648437499999996 1 +v 1.5906250000000002 0.34648437499999996 0 +v 1.5906250000000002 0.343359375 1 +v 1.5906250000000002 0.343359375 0 +v 1.340625 0.34648437499999996 0 +v 1.340625 0.34648437499999996 1 +v 1.340625 0.343359375 0 +v 1.340625 0.343359375 1 +vt 0.5 0.28125 +vt 0.5 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 206/260/65 201/259/65 202/258/65 205/257/65 +f 207/264/66 204/263/66 203/262/66 208/261/66 +o tie3a +v 1.5625 0.34648437499999996 1 +v 1.5625 0.34648437499999996 0 +v 1.5625 0.07148437500000004 1 +v 1.5625 0.07148437500000004 0 +v 1.36875 0.34648437499999996 0 +v 1.36875 0.34648437499999996 1 +v 1.36875 0.07148437500000004 0 +v 1.36875 0.07148437500000004 1 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 212/268/67 215/267/67 213/266/67 210/265/67 +f 211/272/68 212/271/68 210/270/68 209/269/68 +f 216/276/69 211/275/69 209/274/69 214/273/69 +f 215/280/70 216/279/70 214/278/70 213/277/70 +o tie4a +v -0.340625 0.34648437499999996 1 +v -0.340625 0.34648437499999996 0 +v -0.340625 0.343359375 1 +v -0.340625 0.343359375 0 +v -0.590625 0.34648437499999996 0 +v -0.590625 0.34648437499999996 1 +v -0.590625 0.343359375 0 +v -0.590625 0.343359375 1 +vt 0.5 0.15625 +vt 0.5 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 222/284/71 217/283/71 218/282/71 221/281/71 +f 223/288/72 220/287/72 219/286/72 224/285/72 +o tie5a +v -0.36875 0.34648437499999996 1 +v -0.36875 0.34648437499999996 0 +v -0.36875 0.07148437500000004 1 +v -0.36875 0.07148437500000004 0 +v -0.5625 0.34648437499999996 0 +v -0.5625 0.34648437499999996 1 +v -0.5625 0.07148437500000004 0 +v -0.5625 0.07148437500000004 1 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 228/292/73 231/291/73 229/290/73 226/289/73 +f 227/296/74 228/295/74 226/294/74 225/293/74 +f 232/300/75 227/299/75 225/298/75 230/297/75 +f 231/304/76 232/303/76 230/302/76 229/301/76 +o tie6a +v -0.334375 0.07148437500000004 1 +v -0.334375 0.07148437500000004 0 +v -0.334375 0.068359375 1 +v -0.334375 0.068359375 0 +v -0.596875 0.07148437500000004 0 +v -0.596875 0.07148437500000004 1 +v -0.596875 0.068359375 0 +v -0.596875 0.068359375 1 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 238/308/77 233/307/77 234/306/77 237/305/77 +f 239/312/78 236/311/78 235/310/78 240/309/78 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d1_zo_template.json b/src/main/resources/assets/create/models/block/track/cross_d1_zo_template.json new file mode 100644 index 000000000..f7bfa144d --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d1_zo_template.json @@ -0,0 +1,350 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip" + }, + "elements": [ + { + "name": "cube1", + "from": [16, 5.95, 14], + "to": [37.95, 10.05, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [16, 5.95, 6.5], + "to": [37.95, 10.05, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [-5.95, 5.95, 14], + "to": [16, 10.05, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [16, 5.95, 21.5], + "to": [37.95, 10.05, 25.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [-5.95, 5.95, 21.5], + "to": [16, 10.05, 25.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube6", + "from": [-5.95, 5.95, 6.5], + "to": [16, 10.05, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube7", + "from": [-5.95, 5.95, 4.5], + "to": [16, 10.05, 12.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube8", + "from": [-5.95, 5.95, 12], + "to": [16, 10.05, 20], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube9", + "from": [-5.95, 5.95, 19.5], + "to": [16, 10.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube10", + "from": [16, 5.95, 4.5], + "to": [37.95, 10.05, 12.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "cube11", + "from": [16, 5.95, 12], + "to": [37.95, 10.05, 20], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "cube12", + "from": [16, 5.95, 19.5], + "to": [37.95, 10.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "rail1", + "from": [29.35, 9, 4.5], + "to": [33.55, 9.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail2", + "from": [29.45, 13.4, 4.5], + "to": [33.45, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail3", + "from": [29.9, 9.05, 4.5], + "to": [33, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "east": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "south": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "west": {"uv": [0, 6, 11.5, 8], "texture": "#1"} + } + }, + { + "name": "rail4", + "from": [-1.45, 13.4, 4.5], + "to": [2.55, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail5", + "from": [-1, 9.05, 4.5], + "to": [2.1, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "east": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "south": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11.5, 6, 0, 8], "texture": "#1"} + } + }, + { + "name": "rail6", + "from": [-1.55, 9, 4.5], + "to": [2.65, 9.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube1a", + "from": [16, 6.04375, 18], + "to": [37.95, 10.14375, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube2a", + "from": [16, 6.04375, 10], + "to": [37.95, 10.14375, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube3a", + "from": [-5.95, 6.04375, 18], + "to": [16, 10.14375, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube4a", + "from": [-5.95, 6.04375, 10], + "to": [16, 10.14375, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube5a", + "from": [-5.95, 6.04375, 8], + "to": [16, 10.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "west": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube6a", + "from": [16, 6.04375, 8], + "to": [37.95, 10.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "texture": "#2"} + } + }, + { + "name": "tie1a", + "from": [29.35, 9.09375, 8], + "to": [33.55, 9.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie2a", + "from": [29.45, 13.49375, 8], + "to": [33.45, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie3a", + "from": [29.9, 9.14375, 8], + "to": [33, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "east": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "south": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "west": {"uv": [0, 6, 8, 8], "texture": "#1"} + } + }, + { + "name": "tie4a", + "from": [-1.45, 13.49375, 8], + "to": [2.55, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie5a", + "from": [-1, 9.14375, 8], + "to": [2.1, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "east": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "south": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [8, 6, 0, 8], "texture": "#1"} + } + }, + { + "name": "tie6a", + "from": [-1.55, 9.09375, 8], + "to": [2.65, 9.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] + }, + { + "name": "z_ortho", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d2_xo.json b/src/main/resources/assets/create/models/block/track/cross_d2_xo.json new file mode 100644 index 000000000..6437cfc98 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d2_xo.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/track/obj_track", + "loader": "forge:obj", + "flip-v": true, + "model": "create:models/block/track/cross_d2_xo.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d2_xo.obj b/src/main/resources/assets/create/models/block/track/cross_d2_xo.obj new file mode 100644 index 000000000..1bcd0ea49 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d2_xo.obj @@ -0,0 +1,771 @@ +# Made in Blockbench 4.1.4 +mtllib track.mtl + +o cube1 +v 1.5584504630886136 0.13203125000000004 1.3816737677919764 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v 1.5584504630886136 -0.12421874999999999 1.3816737677919764 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v 1.3816737677919766 0.13203125000000004 1.5584504630886133 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +v 1.3816737677919766 -0.12421874999999999 1.5584504630886133 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 3/4/1 4/3/1 2/2/1 1/1/1 +f 7/8/2 8/7/2 6/6/2 5/5/2 +f 7/12/3 4/11/3 3/10/3 8/9/3 +o cube2 +v 1.8899067667698075 0.13203125000000004 1.0502174641107824 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v 1.8899067667698075 -0.12421874999999999 1.0502174641107824 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v 1.7131300714731708 0.13203125000000004 1.2269941594074192 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +v 1.7131300714731708 -0.12421874999999999 1.2269941594074192 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 11/16/4 12/15/4 10/14/4 9/13/4 +f 15/20/5 16/19/5 14/18/5 13/17/5 +f 15/24/6 12/23/6 11/22/6 16/21/6 +o cube3 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v -0.3816737677919766 0.13203125000000004 -0.5584504630886131 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v -0.3816737677919766 -0.12421874999999999 -0.5584504630886131 +v -0.5584504630886133 0.13203125000000004 -0.38167376779197626 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v -0.5584504630886133 -0.12421874999999999 -0.38167376779197626 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 19/28/7 20/27/7 18/26/7 17/25/7 +f 23/32/8 24/31/8 22/30/8 21/29/8 +f 23/36/9 20/35/9 19/34/9 24/33/9 +o cube5 +v 1.2269941594074194 0.13203125000000004 1.7131300714731708 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v 1.2269941594074194 -0.12421874999999999 1.7131300714731708 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v 1.0502174641107827 0.13203125000000004 1.8899067667698075 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +v 1.0502174641107827 -0.12421874999999999 1.8899067667698075 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 27/40/10 28/39/10 26/38/10 25/37/10 +f 31/44/11 32/43/11 30/42/11 29/41/11 +f 31/48/12 28/47/12 27/46/12 32/45/12 +o cube4 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v -0.7131300714731705 0.13203125000000004 -0.22699415940741896 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v -0.7131300714731705 -0.12421874999999999 -0.22699415940741896 +v -0.8899067667698075 0.13203125000000004 -0.050217464110782206 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v -0.8899067667698075 -0.12421874999999999 -0.050217464110782206 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 35/52/13 36/51/13 34/50/13 33/49/13 +f 39/56/14 40/55/14 38/54/14 37/53/14 +f 39/60/15 36/59/15 35/58/15 40/57/15 +o cube6 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v -0.05021746411078243 0.13203125000000004 -0.8899067667698073 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v -0.05021746411078243 -0.12421874999999999 -0.8899067667698073 +v -0.2269941594074193 0.13203125000000004 -0.7131300714731705 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v -0.2269941594074193 -0.12421874999999999 -0.7131300714731705 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 43/64/16 44/63/16 42/62/16 41/61/16 +f 47/68/17 48/67/17 46/66/17 45/65/17 +f 47/72/18 44/71/18 43/70/18 48/69/18 +o cube7 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 0.03817088353753606 0.13203125000000004 -0.9782951144181258 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.03817088353753606 -0.12421874999999999 -0.9782951144181258 +v -0.31538250705573767 0.13203125000000004 -0.624741723824852 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v -0.31538250705573767 -0.12421874999999999 -0.624741723824852 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 52/76/19 55/75/19 53/74/19 50/73/19 +f 54/80/20 49/79/20 50/78/20 53/77/20 +o cube8 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v -0.2932854201436581 0.13203125000000004 -0.6468388107369316 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v -0.2932854201436581 -0.12421874999999999 -0.6468388107369316 +v -0.6468388107369318 0.13203125000000004 -0.2932854201436579 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v -0.6468388107369318 -0.12421874999999999 -0.2932854201436579 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 60/84/21 63/83/21 61/82/21 58/81/21 +f 62/88/22 57/87/22 58/86/22 61/85/22 +o cube9 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v -0.6247417238248523 0.13203125000000004 -0.31538250705573745 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.6247417238248523 -0.12421874999999999 -0.31538250705573745 +v -0.978295114418126 0.13203125000000004 0.03817088353753628 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v -0.978295114418126 -0.12421874999999999 0.03817088353753628 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 68/92/23 71/91/23 69/90/23 66/89/23 +f 70/96/24 65/95/24 66/94/24 69/93/24 +o cube10 +v 1.9782951144181262 0.13203125000000004 0.9618291164624639 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 1.9782951144181262 -0.12421874999999999 0.9618291164624639 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v 1.6247417238248523 0.13203125000000004 1.3153825070557377 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +v 1.6247417238248523 -0.12421874999999999 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 80/100/25 75/99/25 73/98/25 78/97/25 +f 78/104/26 73/103/26 74/102/26 77/101/26 +o cube11 +v 1.646838810736932 0.13203125000000004 1.293285420143658 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v 1.646838810736932 -0.12421874999999999 1.293285420143658 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v 1.293285420143658 0.13203125000000004 1.6468388107369318 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +v 1.293285420143658 -0.12421874999999999 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 88/108/27 83/107/27 81/106/27 86/105/27 +f 86/112/28 81/111/28 82/110/28 85/109/28 +o cube12 +v 1.315382507055738 0.13203125000000004 1.6247417238248523 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v 1.315382507055738 -0.12421874999999999 1.6247417238248523 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v 0.961829116462464 0.13203125000000004 1.978295114418126 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +v 0.961829116462464 -0.12421874999999999 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 96/116/29 91/115/29 89/114/29 94/113/29 +f 94/120/30 89/119/30 90/118/30 93/117/30 +o rail1 +v 1.7838407495918251 0.06953125000000004 0.7673747516361631 +v 1.5982252195303568 0.06953125000000004 0.5817592215746946 +v 1.7838407495918251 0.06640625 0.7673747516361631 +v 1.5982252195303568 0.06640625 0.5817592215746946 +v 0.5817592215746946 0.06953125000000004 1.5982252195303568 +v 0.7673747516361632 0.06953125000000004 1.7838407495918251 +v 0.5817592215746946 0.06640625 1.5982252195303568 +v 0.7673747516361632 0.06640625 1.7838407495918251 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 102/124/31 97/123/31 98/122/31 101/121/31 +f 103/128/32 100/127/32 99/126/32 104/125/32 +o rail2 +v 1.7794213322094095 0.34453124999999996 0.7629553342537474 +v 1.6026446369127725 0.34453124999999996 0.5861786389571104 +v 1.7794213322094095 0.34140625 0.7629553342537474 +v 1.6026446369127725 0.34140625 0.5861786389571104 +v 0.5861786389571105 0.34453124999999996 1.6026446369127725 +v 0.7629553342537475 0.34453124999999996 1.7794213322094095 +v 0.5861786389571105 0.34140625 1.6026446369127725 +v 0.7629553342537475 0.34140625 1.7794213322094095 +vt 0 0.28125 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 110/132/33 105/131/33 106/130/33 109/129/33 +f 111/136/34 108/135/34 107/134/34 112/133/34 +o rail3 +v 1.7595339539885377 0.34453124999999996 0.7430679560328757 +v 1.6225320151336442 0.34453124999999996 0.606066017177982 +v 1.7595339539885377 0.06953125000000004 0.7430679560328757 +v 1.6225320151336442 0.06953125000000004 0.606066017177982 +v 0.6060660171779821 0.34453124999999996 1.6225320151336442 +v 0.7430679560328758 0.34453124999999996 1.7595339539885377 +v 0.6060660171779821 0.06953125000000004 1.6225320151336442 +v 0.7430679560328758 0.06953125000000004 1.7595339539885377 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 116/140/35 119/139/35 117/138/35 114/137/35 +f 115/144/36 116/143/36 114/142/36 113/141/36 +f 120/148/37 115/147/37 113/146/37 118/145/37 +f 119/152/38 120/151/38 118/150/38 117/149/38 +o rail4 +v 0.41382136104288947 0.34453124999999996 -0.6026446369127725 +v 0.2370446657462526 0.34453124999999996 -0.7794213322094095 +v 0.41382136104288947 0.34140625 -0.6026446369127725 +v 0.2370446657462526 0.34140625 -0.7794213322094095 +v -0.7794213322094095 0.34453124999999996 0.23704466574625271 +v -0.6026446369127725 0.34453124999999996 0.4138213610428896 +v -0.7794213322094095 0.34140625 0.23704466574625271 +v -0.6026446369127725 0.34140625 0.4138213610428896 +vt 0 0.15625 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 126/156/39 121/155/39 122/154/39 125/153/39 +f 127/160/40 124/159/40 123/158/40 128/157/40 +o rail5 +v 0.39393398282201786 0.34453124999999996 -0.6225320151336442 +v 0.2569320439671242 0.34453124999999996 -0.7595339539885377 +v 0.39393398282201786 0.06953125000000004 -0.6225320151336442 +v 0.2569320439671242 0.06953125000000004 -0.7595339539885377 +v -0.7595339539885377 0.34453124999999996 0.2569320439671243 +v -0.6225320151336442 0.34453124999999996 0.39393398282201786 +v -0.7595339539885377 0.06953125000000004 0.2569320439671243 +v -0.6225320151336442 0.06953125000000004 0.39393398282201786 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 132/164/41 135/163/41 133/162/41 130/161/41 +f 131/168/42 132/167/42 130/166/42 129/165/42 +f 136/172/43 131/171/43 129/170/43 134/169/43 +f 135/176/44 136/175/44 134/174/44 133/173/44 +o rail6 +v 0.4182407784253054 0.06953125000000004 -0.5982252195303566 +v 0.23262524836383658 0.06953125000000004 -0.7838407495918251 +v 0.4182407784253054 0.06640625 -0.5982252195303566 +v 0.23262524836383658 0.06640625 -0.7838407495918251 +v -0.7838407495918256 0.06953125000000004 0.2326252483638368 +v -0.5982252195303568 0.06953125000000004 0.4182407784253055 +v -0.7838407495918256 0.06640625 0.2326252483638368 +v -0.5982252195303568 0.06640625 0.4182407784253055 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 142/180/45 137/179/45 138/178/45 141/177/45 +f 143/184/46 140/183/46 139/182/46 144/181/46 +o cube1a +v 0.875 0.13007812500000004 0.5 +v 0.875 0.13007812500000004 -0.871875 +v 0.875 -0.126171875 0.5 +v 0.875 -0.126171875 -0.871875 +v 0.625 0.13007812500000004 -0.871875 +v 0.625 0.13007812500000004 0.5 +v 0.625 -0.126171875 -0.871875 +v 0.625 -0.126171875 0.5 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 147/188/47 148/187/47 146/186/47 145/185/47 +f 151/192/48 152/191/48 150/190/48 149/189/48 +f 151/196/49 148/195/49 147/194/49 152/193/49 +o cube2a +v 0.375 0.13007812500000004 0.5 +v 0.375 0.13007812500000004 -0.871875 +v 0.375 -0.126171875 0.5 +v 0.375 -0.126171875 -0.871875 +v 0.125 0.13007812500000004 -0.871875 +v 0.125 0.13007812500000004 0.5 +v 0.125 -0.126171875 -0.871875 +v 0.125 -0.126171875 0.5 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 155/200/50 156/199/50 154/198/50 153/197/50 +f 159/204/51 160/203/51 158/202/51 157/201/51 +f 159/208/52 156/207/52 155/206/52 160/205/52 +o cube3a +v 0.875 0.13007812500000004 1.8718750000000002 +v 0.875 0.13007812500000004 0.5 +v 0.875 -0.126171875 1.8718750000000002 +v 0.875 -0.126171875 0.5 +v 0.625 0.13007812500000004 0.5 +v 0.625 0.13007812500000004 1.8718750000000002 +v 0.625 -0.126171875 0.5 +v 0.625 -0.126171875 1.8718750000000002 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 163/212/53 164/211/53 162/210/53 161/209/53 +f 167/216/54 168/215/54 166/214/54 165/213/54 +f 167/220/55 164/219/55 163/218/55 168/217/55 +o cube4a +v 0.375 0.13007812500000004 1.8718750000000002 +v 0.375 0.13007812500000004 0.5 +v 0.375 -0.126171875 1.8718750000000002 +v 0.375 -0.126171875 0.5 +v 0.125 0.13007812500000004 0.5 +v 0.125 0.13007812500000004 1.8718750000000002 +v 0.125 -0.126171875 0.5 +v 0.125 -0.126171875 1.8718750000000002 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 1 0 0 +vn -1 0 0 +vn 0 -1 0 +usemtl m_0 +f 171/224/56 172/223/56 170/222/56 169/221/56 +f 175/228/57 176/227/57 174/226/57 173/225/57 +f 175/232/58 172/231/58 171/230/58 176/229/58 +o cube5a +v 1 0.13007812500000004 1.8718750000000002 +v 1 0.13007812500000004 0.5 +v 1 -0.126171875 1.8718750000000002 +v 1 -0.126171875 0.5 +v 0 0.13007812500000004 0.5 +v 0 0.13007812500000004 1.8718750000000002 +v 0 -0.126171875 0.5 +v 0 -0.126171875 1.8718750000000002 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0 0.46875 +vt 0 0.96875 +vt 0.6859375 0.96875 +vt 0.6859375 0.46875 +vn 0 0 1 +vn 0 1 0 +usemtl m_1 +f 184/236/59 179/235/59 177/234/59 182/233/59 +f 182/240/60 177/239/60 178/238/60 181/237/60 +o cube6a +v 1 0.13007812500000004 0.5 +v 1 0.13007812500000004 -0.871875 +v 1 -0.126171875 0.5 +v 1 -0.126171875 -0.871875 +v 0 0.13007812500000004 -0.871875 +v 0 0.13007812500000004 0.5 +v 0 -0.126171875 -0.871875 +v 0 -0.126171875 0.5 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0.6859375 0.96875 +vt 0.6859375 0.46875 +vt 0 0.46875 +vt 0 0.96875 +vn 0 0 -1 +vn 0 1 0 +usemtl m_1 +f 188/244/61 191/243/61 189/242/61 186/241/61 +f 190/248/62 185/247/62 186/246/62 189/245/62 +o tie1a +v 1 0.06757812500000004 -0.334375 +v 1 0.06757812500000004 -0.596875 +v 1 0.064453125 -0.334375 +v 1 0.064453125 -0.596875 +v 0 0.06757812500000004 -0.596875 +v 0 0.06757812500000004 -0.334375 +v 0 0.064453125 -0.596875 +v 0 0.064453125 -0.334375 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 198/252/63 193/251/63 194/250/63 197/249/63 +f 199/256/64 196/255/64 195/254/64 200/253/64 +o tie2a +v 1 0.34257812499999996 -0.340625 +v 1 0.34257812499999996 -0.590625 +v 1 0.339453125 -0.340625 +v 1 0.339453125 -0.590625 +v 0 0.34257812499999996 -0.590625 +v 0 0.34257812499999996 -0.340625 +v 0 0.339453125 -0.590625 +v 0 0.339453125 -0.340625 +vt 0.5 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.5 0.28125 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 206/260/65 201/259/65 202/258/65 205/257/65 +f 207/264/66 204/263/66 203/262/66 208/261/66 +o tie3a +v 1 0.34257812499999996 -0.36875 +v 1 0.34257812499999996 -0.5625 +v 1 0.06757812500000004 -0.36875 +v 1 0.06757812500000004 -0.5625 +v 0 0.34257812499999996 -0.5625 +v 0 0.34257812499999996 -0.36875 +v 0 0.06757812500000004 -0.5625 +v 0 0.06757812500000004 -0.36875 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 212/268/67 215/267/67 213/266/67 210/265/67 +f 211/272/68 212/271/68 210/270/68 209/269/68 +f 216/276/69 211/275/69 209/274/69 214/273/69 +f 215/280/70 216/279/70 214/278/70 213/277/70 +o tie4a +v 1 0.34257812499999996 1.5906250000000002 +v 1 0.34257812499999996 1.340625 +v 1 0.339453125 1.5906250000000002 +v 1 0.339453125 1.340625 +v 0 0.34257812499999996 1.340625 +v 0 0.34257812499999996 1.5906250000000002 +v 0 0.339453125 1.340625 +v 0 0.339453125 1.5906250000000002 +vt 0.5 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.5 0.15625 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 222/284/71 217/283/71 218/282/71 221/281/71 +f 223/288/72 220/287/72 219/286/72 224/285/72 +o tie5a +v 1 0.34257812499999996 1.5625 +v 1 0.34257812499999996 1.36875 +v 1 0.06757812500000004 1.5625 +v 1 0.06757812500000004 1.36875 +v 0 0.34257812499999996 1.36875 +v 0 0.34257812499999996 1.5625 +v 0 0.06757812500000004 1.36875 +v 0 0.06757812500000004 1.5625 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 228/292/73 231/291/73 229/290/73 226/289/73 +f 227/296/74 228/295/74 226/294/74 225/293/74 +f 232/300/75 227/299/75 225/298/75 230/297/75 +f 231/304/76 232/303/76 230/302/76 229/301/76 +o tie6a +v 1 0.06757812500000004 1.5968749999999998 +v 1 0.06757812500000004 1.334375 +v 1 0.064453125 1.5968749999999998 +v 1 0.064453125 1.334375 +v 0 0.06757812500000004 1.334375 +v 0 0.06757812500000004 1.5968749999999998 +v 0 0.064453125 1.334375 +v 0 0.064453125 1.5968749999999998 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 238/308/77 233/307/77 234/306/77 237/305/77 +f 239/312/78 236/311/78 235/310/78 240/309/78 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d2_xo_template.json b/src/main/resources/assets/create/models/block/track/cross_d2_xo_template.json new file mode 100644 index 000000000..c35020b44 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d2_xo_template.json @@ -0,0 +1,350 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip" + }, + "elements": [ + { + "name": "cube1", + "from": [14, 6.0125, 16], + "to": [18, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [21.5, 6.0125, 16], + "to": [25.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [14, 6.0125, -5.95], + "to": [18, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [6.5, 6.0125, 16], + "to": [10.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [6.5, 6.0125, -5.95], + "to": [10.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube6", + "from": [21.5, 6.0125, -5.95], + "to": [25.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube7", + "from": [19.5, 6.0125, -5.95], + "to": [27.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube8", + "from": [12, 6.0125, -5.95], + "to": [20, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube9", + "from": [4.5, 6.0125, -5.95], + "to": [12.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube10", + "from": [19.5, 6.0125, 16], + "to": [27.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube11", + "from": [12, 6.0125, 16], + "to": [20, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube12", + "from": [4.5, 6.0125, 16], + "to": [12.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "rail1", + "from": [4.5, 9.0625, 29.35], + "to": [27.5, 9.1125, 33.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail2", + "from": [4.5, 13.4625, 29.45], + "to": [27.5, 13.5125, 33.45], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail3", + "from": [4.5, 9.1125, 29.9], + "to": [27.5, 13.5125, 33], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "rail4", + "from": [4.5, 13.4625, -1.45], + "to": [27.5, 13.5125, 2.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail5", + "from": [4.5, 9.1125, -1], + "to": [27.5, 13.5125, 2.1], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + }, + { + "name": "rail6", + "from": [4.5, 9.0625, -1.55], + "to": [27.5, 9.1125, 2.65], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube1a", + "from": [18, 5.98125, -5.95], + "to": [22, 10.08125, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube2a", + "from": [10, 5.98125, -5.95], + "to": [14, 10.08125, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube3a", + "from": [18, 5.98125, 16], + "to": [22, 10.08125, 37.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4a", + "from": [10, 5.98125, 16], + "to": [14, 10.08125, 37.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube5a", + "from": [8, 5.98125, 16], + "to": [24, 10.08125, 37.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "south": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube6a", + "from": [8, 5.98125, -5.95], + "to": [24, 10.08125, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "tie1a", + "from": [8, 9.03125, -1.55], + "to": [24, 9.08125, 2.65], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "texture": "#1"} + } + }, + { + "name": "tie2a", + "from": [8, 13.43125, -1.45], + "to": [24, 13.48125, 2.55], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "texture": "#1"} + } + }, + { + "name": "tie3a", + "from": [8, 9.08125, -1], + "to": [24, 13.48125, 2.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "tie4a", + "from": [8, 13.43125, 29.45], + "to": [24, 13.48125, 33.45], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "texture": "#1"} + } + }, + { + "name": "tie5a", + "from": [8, 9.08125, 29.9], + "to": [24, 13.48125, 33], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + }, + { + "name": "tie6a", + "from": [8, 9.03125, 29.35], + "to": [24, 9.08125, 33.55], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] + }, + { + "name": "x_ortho", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d2_zo.json b/src/main/resources/assets/create/models/block/track/cross_d2_zo.json new file mode 100644 index 000000000..03290ed4c --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d2_zo.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/track/obj_track", + "loader": "forge:obj", + "flip-v": true, + "model": "create:models/block/track/cross_d2_zo.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d2_zo.obj b/src/main/resources/assets/create/models/block/track/cross_d2_zo.obj new file mode 100644 index 000000000..c356dbb87 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d2_zo.obj @@ -0,0 +1,771 @@ +# Made in Blockbench 4.1.4 +mtllib track.mtl + +o cube1 +v 1.5584504630886136 0.13203125000000004 1.3816737677919764 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v 1.5584504630886136 -0.12421874999999999 1.3816737677919764 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v 1.3816737677919766 0.13203125000000004 1.5584504630886133 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +v 1.3816737677919766 -0.12421874999999999 1.5584504630886133 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 3/4/1 4/3/1 2/2/1 1/1/1 +f 7/8/2 8/7/2 6/6/2 5/5/2 +f 7/12/3 4/11/3 3/10/3 8/9/3 +o cube2 +v 1.8899067667698075 0.13203125000000004 1.0502174641107824 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v 1.8899067667698075 -0.12421874999999999 1.0502174641107824 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v 1.7131300714731708 0.13203125000000004 1.2269941594074192 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +v 1.7131300714731708 -0.12421874999999999 1.2269941594074192 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 11/16/4 12/15/4 10/14/4 9/13/4 +f 15/20/5 16/19/5 14/18/5 13/17/5 +f 15/24/6 12/23/6 11/22/6 16/21/6 +o cube3 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v -0.3816737677919766 0.13203125000000004 -0.5584504630886131 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v -0.3816737677919766 -0.12421874999999999 -0.5584504630886131 +v -0.5584504630886133 0.13203125000000004 -0.38167376779197626 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v -0.5584504630886133 -0.12421874999999999 -0.38167376779197626 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 19/28/7 20/27/7 18/26/7 17/25/7 +f 23/32/8 24/31/8 22/30/8 21/29/8 +f 23/36/9 20/35/9 19/34/9 24/33/9 +o cube5 +v 1.2269941594074194 0.13203125000000004 1.7131300714731708 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v 1.2269941594074194 -0.12421874999999999 1.7131300714731708 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v 1.0502174641107827 0.13203125000000004 1.8899067667698075 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +v 1.0502174641107827 -0.12421874999999999 1.8899067667698075 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 27/40/10 28/39/10 26/38/10 25/37/10 +f 31/44/11 32/43/11 30/42/11 29/41/11 +f 31/48/12 28/47/12 27/46/12 32/45/12 +o cube4 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v -0.7131300714731705 0.13203125000000004 -0.22699415940741896 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v -0.7131300714731705 -0.12421874999999999 -0.22699415940741896 +v -0.8899067667698075 0.13203125000000004 -0.050217464110782206 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v -0.8899067667698075 -0.12421874999999999 -0.050217464110782206 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 35/52/13 36/51/13 34/50/13 33/49/13 +f 39/56/14 40/55/14 38/54/14 37/53/14 +f 39/60/15 36/59/15 35/58/15 40/57/15 +o cube6 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v -0.05021746411078243 0.13203125000000004 -0.8899067667698073 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v -0.05021746411078243 -0.12421874999999999 -0.8899067667698073 +v -0.2269941594074193 0.13203125000000004 -0.7131300714731705 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v -0.2269941594074193 -0.12421874999999999 -0.7131300714731705 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 43/64/16 44/63/16 42/62/16 41/61/16 +f 47/68/17 48/67/17 46/66/17 45/65/17 +f 47/72/18 44/71/18 43/70/18 48/69/18 +o cube7 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 0.03817088353753606 0.13203125000000004 -0.9782951144181258 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.03817088353753606 -0.12421874999999999 -0.9782951144181258 +v -0.31538250705573767 0.13203125000000004 -0.624741723824852 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v -0.31538250705573767 -0.12421874999999999 -0.624741723824852 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 52/76/19 55/75/19 53/74/19 50/73/19 +f 54/80/20 49/79/20 50/78/20 53/77/20 +o cube8 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v -0.2932854201436581 0.13203125000000004 -0.6468388107369316 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v -0.2932854201436581 -0.12421874999999999 -0.6468388107369316 +v -0.6468388107369318 0.13203125000000004 -0.2932854201436579 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v -0.6468388107369318 -0.12421874999999999 -0.2932854201436579 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 60/84/21 63/83/21 61/82/21 58/81/21 +f 62/88/22 57/87/22 58/86/22 61/85/22 +o cube9 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v -0.6247417238248523 0.13203125000000004 -0.31538250705573745 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.6247417238248523 -0.12421874999999999 -0.31538250705573745 +v -0.978295114418126 0.13203125000000004 0.03817088353753628 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v -0.978295114418126 -0.12421874999999999 0.03817088353753628 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 68/92/23 71/91/23 69/90/23 66/89/23 +f 70/96/24 65/95/24 66/94/24 69/93/24 +o cube10 +v 1.9782951144181262 0.13203125000000004 0.9618291164624639 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 1.9782951144181262 -0.12421874999999999 0.9618291164624639 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v 1.6247417238248523 0.13203125000000004 1.3153825070557377 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +v 1.6247417238248523 -0.12421874999999999 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 80/100/25 75/99/25 73/98/25 78/97/25 +f 78/104/26 73/103/26 74/102/26 77/101/26 +o cube11 +v 1.646838810736932 0.13203125000000004 1.293285420143658 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v 1.646838810736932 -0.12421874999999999 1.293285420143658 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v 1.293285420143658 0.13203125000000004 1.6468388107369318 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +v 1.293285420143658 -0.12421874999999999 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 88/108/27 83/107/27 81/106/27 86/105/27 +f 86/112/28 81/111/28 82/110/28 85/109/28 +o cube12 +v 1.315382507055738 0.13203125000000004 1.6247417238248523 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v 1.315382507055738 -0.12421874999999999 1.6247417238248523 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v 0.961829116462464 0.13203125000000004 1.978295114418126 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +v 0.961829116462464 -0.12421874999999999 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 96/116/29 91/115/29 89/114/29 94/113/29 +f 94/120/30 89/119/30 90/118/30 93/117/30 +o rail1 +v 1.7838407495918251 0.06953125000000004 0.7673747516361631 +v 1.5982252195303568 0.06953125000000004 0.5817592215746946 +v 1.7838407495918251 0.06640625 0.7673747516361631 +v 1.5982252195303568 0.06640625 0.5817592215746946 +v 0.5817592215746946 0.06953125000000004 1.5982252195303568 +v 0.7673747516361632 0.06953125000000004 1.7838407495918251 +v 0.5817592215746946 0.06640625 1.5982252195303568 +v 0.7673747516361632 0.06640625 1.7838407495918251 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 102/124/31 97/123/31 98/122/31 101/121/31 +f 103/128/32 100/127/32 99/126/32 104/125/32 +o rail2 +v 1.7794213322094095 0.34453124999999996 0.7629553342537474 +v 1.6026446369127725 0.34453124999999996 0.5861786389571104 +v 1.7794213322094095 0.34140625 0.7629553342537474 +v 1.6026446369127725 0.34140625 0.5861786389571104 +v 0.5861786389571105 0.34453124999999996 1.6026446369127725 +v 0.7629553342537475 0.34453124999999996 1.7794213322094095 +v 0.5861786389571105 0.34140625 1.6026446369127725 +v 0.7629553342537475 0.34140625 1.7794213322094095 +vt 0 0.28125 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 110/132/33 105/131/33 106/130/33 109/129/33 +f 111/136/34 108/135/34 107/134/34 112/133/34 +o rail3 +v 1.7595339539885377 0.34453124999999996 0.7430679560328757 +v 1.6225320151336442 0.34453124999999996 0.606066017177982 +v 1.7595339539885377 0.06953125000000004 0.7430679560328757 +v 1.6225320151336442 0.06953125000000004 0.606066017177982 +v 0.6060660171779821 0.34453124999999996 1.6225320151336442 +v 0.7430679560328758 0.34453124999999996 1.7595339539885377 +v 0.6060660171779821 0.06953125000000004 1.6225320151336442 +v 0.7430679560328758 0.06953125000000004 1.7595339539885377 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 116/140/35 119/139/35 117/138/35 114/137/35 +f 115/144/36 116/143/36 114/142/36 113/141/36 +f 120/148/37 115/147/37 113/146/37 118/145/37 +f 119/152/38 120/151/38 118/150/38 117/149/38 +o rail4 +v 0.41382136104288947 0.34453124999999996 -0.6026446369127725 +v 0.2370446657462526 0.34453124999999996 -0.7794213322094095 +v 0.41382136104288947 0.34140625 -0.6026446369127725 +v 0.2370446657462526 0.34140625 -0.7794213322094095 +v -0.7794213322094095 0.34453124999999996 0.23704466574625271 +v -0.6026446369127725 0.34453124999999996 0.4138213610428896 +v -0.7794213322094095 0.34140625 0.23704466574625271 +v -0.6026446369127725 0.34140625 0.4138213610428896 +vt 0 0.15625 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 126/156/39 121/155/39 122/154/39 125/153/39 +f 127/160/40 124/159/40 123/158/40 128/157/40 +o rail5 +v 0.39393398282201786 0.34453124999999996 -0.6225320151336442 +v 0.2569320439671242 0.34453124999999996 -0.7595339539885377 +v 0.39393398282201786 0.06953125000000004 -0.6225320151336442 +v 0.2569320439671242 0.06953125000000004 -0.7595339539885377 +v -0.7595339539885377 0.34453124999999996 0.2569320439671243 +v -0.6225320151336442 0.34453124999999996 0.39393398282201786 +v -0.7595339539885377 0.06953125000000004 0.2569320439671243 +v -0.6225320151336442 0.06953125000000004 0.39393398282201786 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 132/164/41 135/163/41 133/162/41 130/161/41 +f 131/168/42 132/167/42 130/166/42 129/165/42 +f 136/172/43 131/171/43 129/170/43 134/169/43 +f 135/176/44 136/175/44 134/174/44 133/173/44 +o rail6 +v 0.4182407784253054 0.06953125000000004 -0.5982252195303566 +v 0.23262524836383658 0.06953125000000004 -0.7838407495918251 +v 0.4182407784253054 0.06640625 -0.5982252195303566 +v 0.23262524836383658 0.06640625 -0.7838407495918251 +v -0.7838407495918256 0.06953125000000004 0.2326252483638368 +v -0.5982252195303568 0.06953125000000004 0.4182407784253055 +v -0.7838407495918256 0.06640625 0.2326252483638368 +v -0.5982252195303568 0.06640625 0.4182407784253055 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 142/180/45 137/179/45 138/178/45 141/177/45 +f 143/184/46 140/183/46 139/182/46 144/181/46 +o cube1a +v 1.8718750000000002 0.13398437500000004 0.875 +v 1.8718750000000002 0.13398437500000004 0.625 +v 1.8718750000000002 -0.12226562499999999 0.875 +v 1.8718750000000002 -0.12226562499999999 0.625 +v 0.5 0.13398437500000004 0.625 +v 0.5 0.13398437500000004 0.875 +v 0.5 -0.12226562499999999 0.625 +v 0.5 -0.12226562499999999 0.875 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 148/188/47 151/187/47 149/186/47 146/185/47 +f 152/192/48 147/191/48 145/190/48 150/189/48 +f 151/196/49 148/195/49 147/194/49 152/193/49 +o cube2a +v 1.8718750000000002 0.13398437500000004 0.375 +v 1.8718750000000002 0.13398437500000004 0.125 +v 1.8718750000000002 -0.12226562499999999 0.375 +v 1.8718750000000002 -0.12226562499999999 0.125 +v 0.5 0.13398437500000004 0.125 +v 0.5 0.13398437500000004 0.375 +v 0.5 -0.12226562499999999 0.125 +v 0.5 -0.12226562499999999 0.375 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 156/200/50 159/199/50 157/198/50 154/197/50 +f 160/204/51 155/203/51 153/202/51 158/201/51 +f 159/208/52 156/207/52 155/206/52 160/205/52 +o cube3a +v 0.5 0.13398437500000004 0.875 +v 0.5 0.13398437500000004 0.625 +v 0.5 -0.12226562499999999 0.875 +v 0.5 -0.12226562499999999 0.625 +v -0.871875 0.13398437500000004 0.625 +v -0.871875 0.13398437500000004 0.875 +v -0.871875 -0.12226562499999999 0.625 +v -0.871875 -0.12226562499999999 0.875 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 164/212/53 167/211/53 165/210/53 162/209/53 +f 168/216/54 163/215/54 161/214/54 166/213/54 +f 167/220/55 164/219/55 163/218/55 168/217/55 +o cube4a +v 0.5 0.13398437500000004 0.375 +v 0.5 0.13398437500000004 0.125 +v 0.5 -0.12226562499999999 0.375 +v 0.5 -0.12226562499999999 0.125 +v -0.871875 0.13398437500000004 0.125 +v -0.871875 0.13398437500000004 0.375 +v -0.871875 -0.12226562499999999 0.125 +v -0.871875 -0.12226562499999999 0.375 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn 0 0 -1 +vn 0 0 1 +vn 0 -1 0 +usemtl m_0 +f 172/224/56 175/223/56 173/222/56 170/221/56 +f 176/228/57 171/227/57 169/226/57 174/225/57 +f 175/232/58 172/231/58 171/230/58 176/229/58 +o cube5a +v 0.5 0.13398437500000004 1 +v 0.5 0.13398437500000004 0 +v 0.5 -0.12226562499999999 1 +v 0.5 -0.12226562499999999 0 +v -0.871875 0.13398437500000004 0 +v -0.871875 0.13398437500000004 1 +v -0.871875 -0.12226562499999999 0 +v -0.871875 -0.12226562499999999 1 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0.6859375 0.46875 +vt 0 0.46875 +vt 0 0.96875 +vt 0.6859375 0.96875 +vn -1 0 0 +vn 0 1 0 +usemtl m_1 +f 183/236/59 184/235/59 182/234/59 181/233/59 +f 182/240/60 177/239/60 178/238/60 181/237/60 +o cube6a +v 1.8718750000000002 0.13398437500000004 1 +v 1.8718750000000002 0.13398437500000004 0 +v 1.8718750000000002 -0.12226562499999999 1 +v 1.8718750000000002 -0.12226562499999999 0 +v 0.5 0.13398437500000004 0 +v 0.5 0.13398437500000004 1 +v 0.5 -0.12226562499999999 0 +v 0.5 -0.12226562499999999 1 +vt 0.6875 0.46875 +vt 0.6875 0.96875 +vt 0.815625 0.96875 +vt 0.815625 0.46875 +vt 0 0.96875 +vt 0.6859375 0.96875 +vt 0.6859375 0.46875 +vt 0 0.46875 +vn 1 0 0 +vn 0 1 0 +usemtl m_1 +f 187/244/61 188/243/61 186/242/61 185/241/61 +f 190/248/62 185/247/62 186/246/62 189/245/62 +o tie1a +v 1.5968749999999998 0.07148437500000004 1 +v 1.5968749999999998 0.07148437500000004 0 +v 1.5968749999999998 0.068359375 1 +v 1.5968749999999998 0.068359375 0 +v 1.334375 0.07148437500000004 0 +v 1.334375 0.07148437500000004 1 +v 1.334375 0.068359375 0 +v 1.334375 0.068359375 1 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 198/252/63 193/251/63 194/250/63 197/249/63 +f 199/256/64 196/255/64 195/254/64 200/253/64 +o tie2a +v 1.5906250000000002 0.34648437499999996 1 +v 1.5906250000000002 0.34648437499999996 0 +v 1.5906250000000002 0.343359375 1 +v 1.5906250000000002 0.343359375 0 +v 1.340625 0.34648437499999996 0 +v 1.340625 0.34648437499999996 1 +v 1.340625 0.343359375 0 +v 1.340625 0.343359375 1 +vt 0.5 0.28125 +vt 0.5 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.5 0.46875 +vt 0.5 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 206/260/65 201/259/65 202/258/65 205/257/65 +f 207/264/66 204/263/66 203/262/66 208/261/66 +o tie3a +v 1.5625 0.34648437499999996 1 +v 1.5625 0.34648437499999996 0 +v 1.5625 0.07148437500000004 1 +v 1.5625 0.07148437500000004 0 +v 1.36875 0.34648437499999996 0 +v 1.36875 0.34648437499999996 1 +v 1.36875 0.07148437500000004 0 +v 1.36875 0.07148437500000004 1 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.5 0.625 +vt 0.5 0.5 +vt 0 0.5 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 212/268/67 215/267/67 213/266/67 210/265/67 +f 211/272/68 212/271/68 210/270/68 209/269/68 +f 216/276/69 211/275/69 209/274/69 214/273/69 +f 215/280/70 216/279/70 214/278/70 213/277/70 +o tie4a +v -0.340625 0.34648437499999996 1 +v -0.340625 0.34648437499999996 0 +v -0.340625 0.343359375 1 +v -0.340625 0.343359375 0 +v -0.590625 0.34648437499999996 0 +v -0.590625 0.34648437499999996 1 +v -0.590625 0.343359375 0 +v -0.590625 0.343359375 1 +vt 0.5 0.15625 +vt 0.5 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 222/284/71 217/283/71 218/282/71 221/281/71 +f 223/288/72 220/287/72 219/286/72 224/285/72 +o tie5a +v -0.36875 0.34648437499999996 1 +v -0.36875 0.34648437499999996 0 +v -0.36875 0.07148437500000004 1 +v -0.36875 0.07148437500000004 0 +v -0.5625 0.34648437499999996 0 +v -0.5625 0.34648437499999996 1 +v -0.5625 0.07148437500000004 0 +v -0.5625 0.07148437500000004 1 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.5 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.5 0.5 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +usemtl m_0 +f 228/292/73 231/291/73 229/290/73 226/289/73 +f 227/296/74 228/295/74 226/294/74 225/293/74 +f 232/300/75 227/299/75 225/298/75 230/297/75 +f 231/304/76 232/303/76 230/302/76 229/301/76 +o tie6a +v -0.334375 0.07148437500000004 1 +v -0.334375 0.07148437500000004 0 +v -0.334375 0.068359375 1 +v -0.334375 0.068359375 0 +v -0.596875 0.07148437500000004 0 +v -0.596875 0.07148437500000004 1 +v -0.596875 0.068359375 0 +v -0.596875 0.068359375 1 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.5 0.34375 +vt 0.5 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 238/308/77 233/307/77 234/306/77 237/305/77 +f 239/312/78 236/311/78 235/310/78 240/309/78 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_d2_zo_template.json b/src/main/resources/assets/create/models/block/track/cross_d2_zo_template.json new file mode 100644 index 000000000..4f0ceddbe --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_d2_zo_template.json @@ -0,0 +1,350 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip" + }, + "elements": [ + { + "name": "cube1", + "from": [14, 6.0125, 16], + "to": [18, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [21.5, 6.0125, 16], + "to": [25.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [14, 6.0125, -5.95], + "to": [18, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [6.5, 6.0125, 16], + "to": [10.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [6.5, 6.0125, -5.95], + "to": [10.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube6", + "from": [21.5, 6.0125, -5.95], + "to": [25.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube7", + "from": [19.5, 6.0125, -5.95], + "to": [27.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube8", + "from": [12, 6.0125, -5.95], + "to": [20, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube9", + "from": [4.5, 6.0125, -5.95], + "to": [12.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube10", + "from": [19.5, 6.0125, 16], + "to": [27.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube11", + "from": [12, 6.0125, 16], + "to": [20, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube12", + "from": [4.5, 6.0125, 16], + "to": [12.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "rail1", + "from": [4.5, 9.0625, 29.35], + "to": [27.5, 9.1125, 33.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail2", + "from": [4.5, 13.4625, 29.45], + "to": [27.5, 13.5125, 33.45], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail3", + "from": [4.5, 9.1125, 29.9], + "to": [27.5, 13.5125, 33], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "rail4", + "from": [4.5, 13.4625, -1.45], + "to": [27.5, 13.5125, 2.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail5", + "from": [4.5, 9.1125, -1], + "to": [27.5, 13.5125, 2.1], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + }, + { + "name": "rail6", + "from": [4.5, 9.0625, -1.55], + "to": [27.5, 9.1125, 2.65], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube1a", + "from": [16, 6.04375, 18], + "to": [37.95, 10.14375, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube2a", + "from": [16, 6.04375, 10], + "to": [37.95, 10.14375, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube3a", + "from": [-5.95, 6.04375, 18], + "to": [16, 10.14375, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube4a", + "from": [-5.95, 6.04375, 10], + "to": [16, 10.14375, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube5a", + "from": [-5.95, 6.04375, 8], + "to": [16, 10.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "west": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube6a", + "from": [16, 6.04375, 8], + "to": [37.95, 10.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "texture": "#2"} + } + }, + { + "name": "tie1a", + "from": [29.35, 9.09375, 8], + "to": [33.55, 9.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie2a", + "from": [29.45, 13.49375, 8], + "to": [33.45, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie3a", + "from": [29.9, 9.14375, 8], + "to": [33, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "east": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "south": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "west": {"uv": [0, 6, 8, 8], "texture": "#1"} + } + }, + { + "name": "tie4a", + "from": [-1.45, 13.49375, 8], + "to": [2.55, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie5a", + "from": [-1, 9.14375, 8], + "to": [2.1, 13.54375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "east": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "south": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [8, 6, 0, 8], "texture": "#1"} + } + }, + { + "name": "tie6a", + "from": [-1.55, 9.09375, 8], + "to": [2.65, 9.14375, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] + }, + { + "name": "z_ortho", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_diag.json b/src/main/resources/assets/create/models/block/track/cross_diag.json new file mode 100644 index 000000000..172e7325e --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_diag.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/track/obj_track", + "loader": "forge:obj", + "flip-v": true, + "model": "create:models/block/track/cross_diag.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_diag.obj b/src/main/resources/assets/create/models/block/track/cross_diag.obj new file mode 100644 index 000000000..99dfbcb09 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_diag.obj @@ -0,0 +1,961 @@ +# Made in Blockbench 4.1.4 +mtllib track.mtl + +o cube1 +v 1.5584504630886136 0.13203125000000004 1.3816737677919764 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v 1.5584504630886136 -0.12421874999999999 1.3816737677919764 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v 1.3816737677919766 0.13203125000000004 1.5584504630886133 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +v 1.3816737677919766 -0.12421874999999999 1.5584504630886133 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 3/4/1 4/3/1 2/2/1 1/1/1 +f 7/8/2 8/7/2 6/6/2 5/5/2 +f 7/12/3 4/11/3 3/10/3 8/9/3 +o cube2 +v 1.8899067667698075 0.13203125000000004 1.0502174641107824 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v 1.8899067667698075 -0.12421874999999999 1.0502174641107824 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v 1.7131300714731708 0.13203125000000004 1.2269941594074192 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +v 1.7131300714731708 -0.12421874999999999 1.2269941594074192 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 11/16/4 12/15/4 10/14/4 9/13/4 +f 15/20/5 16/19/5 14/18/5 13/17/5 +f 15/24/6 12/23/6 11/22/6 16/21/6 +o cube3 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v -0.3816737677919766 0.13203125000000004 -0.5584504630886131 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v -0.3816737677919766 -0.12421874999999999 -0.5584504630886131 +v -0.5584504630886133 0.13203125000000004 -0.38167376779197626 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v -0.5584504630886133 -0.12421874999999999 -0.38167376779197626 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 19/28/7 20/27/7 18/26/7 17/25/7 +f 23/32/8 24/31/8 22/30/8 21/29/8 +f 23/36/9 20/35/9 19/34/9 24/33/9 +o cube5 +v 1.2269941594074194 0.13203125000000004 1.7131300714731708 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v 1.2269941594074194 -0.12421874999999999 1.7131300714731708 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v 1.0502174641107827 0.13203125000000004 1.8899067667698075 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +v 1.0502174641107827 -0.12421874999999999 1.8899067667698075 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 27/40/10 28/39/10 26/38/10 25/37/10 +f 31/44/11 32/43/11 30/42/11 29/41/11 +f 31/48/12 28/47/12 27/46/12 32/45/12 +o cube4 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v -0.7131300714731705 0.13203125000000004 -0.22699415940741896 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v -0.7131300714731705 -0.12421874999999999 -0.22699415940741896 +v -0.8899067667698075 0.13203125000000004 -0.050217464110782206 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v -0.8899067667698075 -0.12421874999999999 -0.050217464110782206 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 35/52/13 36/51/13 34/50/13 33/49/13 +f 39/56/14 40/55/14 38/54/14 37/53/14 +f 39/60/15 36/59/15 35/58/15 40/57/15 +o cube6 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v -0.05021746411078243 0.13203125000000004 -0.8899067667698073 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v -0.05021746411078243 -0.12421874999999999 -0.8899067667698073 +v -0.2269941594074193 0.13203125000000004 -0.7131300714731705 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v -0.2269941594074193 -0.12421874999999999 -0.7131300714731705 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 43/64/16 44/63/16 42/62/16 41/61/16 +f 47/68/17 48/67/17 46/66/17 45/65/17 +f 47/72/18 44/71/18 43/70/18 48/69/18 +o cube7 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 0.03817088353753606 0.13203125000000004 -0.9782951144181258 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.03817088353753606 -0.12421874999999999 -0.9782951144181258 +v -0.31538250705573767 0.13203125000000004 -0.624741723824852 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v -0.31538250705573767 -0.12421874999999999 -0.624741723824852 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 52/76/19 55/75/19 53/74/19 50/73/19 +f 54/80/20 49/79/20 50/78/20 53/77/20 +o cube8 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v -0.2932854201436581 0.13203125000000004 -0.6468388107369316 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v -0.2932854201436581 -0.12421874999999999 -0.6468388107369316 +v -0.6468388107369318 0.13203125000000004 -0.2932854201436579 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v -0.6468388107369318 -0.12421874999999999 -0.2932854201436579 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 60/84/21 63/83/21 61/82/21 58/81/21 +f 62/88/22 57/87/22 58/86/22 61/85/22 +o cube9 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v -0.6247417238248523 0.13203125000000004 -0.31538250705573745 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.6247417238248523 -0.12421874999999999 -0.31538250705573745 +v -0.978295114418126 0.13203125000000004 0.03817088353753628 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v -0.978295114418126 -0.12421874999999999 0.03817088353753628 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 68/92/23 71/91/23 69/90/23 66/89/23 +f 70/96/24 65/95/24 66/94/24 69/93/24 +o cube10 +v 1.9782951144181262 0.13203125000000004 0.9618291164624639 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 1.9782951144181262 -0.12421874999999999 0.9618291164624639 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v 1.6247417238248523 0.13203125000000004 1.3153825070557377 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +v 1.6247417238248523 -0.12421874999999999 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 80/100/25 75/99/25 73/98/25 78/97/25 +f 78/104/26 73/103/26 74/102/26 77/101/26 +o cube11 +v 1.646838810736932 0.13203125000000004 1.293285420143658 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v 1.646838810736932 -0.12421874999999999 1.293285420143658 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v 1.293285420143658 0.13203125000000004 1.6468388107369318 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +v 1.293285420143658 -0.12421874999999999 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 88/108/27 83/107/27 81/106/27 86/105/27 +f 86/112/28 81/111/28 82/110/28 85/109/28 +o cube12 +v 1.315382507055738 0.13203125000000004 1.6247417238248523 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v 1.315382507055738 -0.12421874999999999 1.6247417238248523 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v 0.961829116462464 0.13203125000000004 1.978295114418126 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +v 0.961829116462464 -0.12421874999999999 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 96/116/29 91/115/29 89/114/29 94/113/29 +f 94/120/30 89/119/30 90/118/30 93/117/30 +o rail1 +v 1.7838407495918251 0.06953125000000004 0.7673747516361631 +v 1.5982252195303568 0.06953125000000004 0.5817592215746946 +v 1.7838407495918251 0.06640625 0.7673747516361631 +v 1.5982252195303568 0.06640625 0.5817592215746946 +v 0.5817592215746946 0.06953125000000004 1.5982252195303568 +v 0.7673747516361632 0.06953125000000004 1.7838407495918251 +v 0.5817592215746946 0.06640625 1.5982252195303568 +v 0.7673747516361632 0.06640625 1.7838407495918251 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 102/124/31 97/123/31 98/122/31 101/121/31 +f 103/128/32 100/127/32 99/126/32 104/125/32 +o rail2 +v 1.7794213322094095 0.34453124999999996 0.7629553342537474 +v 1.6026446369127725 0.34453124999999996 0.5861786389571104 +v 1.7794213322094095 0.34140625 0.7629553342537474 +v 1.6026446369127725 0.34140625 0.5861786389571104 +v 0.5861786389571105 0.34453124999999996 1.6026446369127725 +v 0.7629553342537475 0.34453124999999996 1.7794213322094095 +v 0.5861786389571105 0.34140625 1.6026446369127725 +v 0.7629553342537475 0.34140625 1.7794213322094095 +vt 0 0.28125 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 110/132/33 105/131/33 106/130/33 109/129/33 +f 111/136/34 108/135/34 107/134/34 112/133/34 +o rail3 +v 1.7595339539885377 0.34453124999999996 0.7430679560328757 +v 1.6225320151336442 0.34453124999999996 0.606066017177982 +v 1.7595339539885377 0.06953125000000004 0.7430679560328757 +v 1.6225320151336442 0.06953125000000004 0.606066017177982 +v 0.6060660171779821 0.34453124999999996 1.6225320151336442 +v 0.7430679560328758 0.34453124999999996 1.7595339539885377 +v 0.6060660171779821 0.06953125000000004 1.6225320151336442 +v 0.7430679560328758 0.06953125000000004 1.7595339539885377 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 116/140/35 119/139/35 117/138/35 114/137/35 +f 115/144/36 116/143/36 114/142/36 113/141/36 +f 120/148/37 115/147/37 113/146/37 118/145/37 +f 119/152/38 120/151/38 118/150/38 117/149/38 +o rail4 +v 0.41382136104288947 0.34453124999999996 -0.6026446369127725 +v 0.2370446657462526 0.34453124999999996 -0.7794213322094095 +v 0.41382136104288947 0.34140625 -0.6026446369127725 +v 0.2370446657462526 0.34140625 -0.7794213322094095 +v -0.7794213322094095 0.34453124999999996 0.23704466574625271 +v -0.6026446369127725 0.34453124999999996 0.4138213610428896 +v -0.7794213322094095 0.34140625 0.23704466574625271 +v -0.6026446369127725 0.34140625 0.4138213610428896 +vt 0 0.15625 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 126/156/39 121/155/39 122/154/39 125/153/39 +f 127/160/40 124/159/40 123/158/40 128/157/40 +o rail5 +v 0.39393398282201786 0.34453124999999996 -0.6225320151336442 +v 0.2569320439671242 0.34453124999999996 -0.7595339539885377 +v 0.39393398282201786 0.06953125000000004 -0.6225320151336442 +v 0.2569320439671242 0.06953125000000004 -0.7595339539885377 +v -0.7595339539885377 0.34453124999999996 0.2569320439671243 +v -0.6225320151336442 0.34453124999999996 0.39393398282201786 +v -0.7595339539885377 0.06953125000000004 0.2569320439671243 +v -0.6225320151336442 0.06953125000000004 0.39393398282201786 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 132/164/41 135/163/41 133/162/41 130/161/41 +f 131/168/42 132/167/42 130/166/42 129/165/42 +f 136/172/43 131/171/43 129/170/43 134/169/43 +f 135/176/44 136/175/44 134/174/44 133/173/44 +o rail6 +v 0.4182407784253054 0.06953125000000004 -0.5982252195303566 +v 0.23262524836383658 0.06953125000000004 -0.7838407495918251 +v 0.4182407784253054 0.06640625 -0.5982252195303566 +v 0.23262524836383658 0.06640625 -0.7838407495918251 +v -0.7838407495918256 0.06953125000000004 0.2326252483638368 +v -0.5982252195303568 0.06953125000000004 0.4182407784253055 +v -0.7838407495918256 0.06640625 0.2326252483638368 +v -0.5982252195303568 0.06640625 0.4182407784253055 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 142/180/45 137/179/45 138/178/45 141/177/45 +f 143/184/46 140/183/46 139/182/46 144/181/46 +o cube1a +v 1.5584504630886133 0.12812500000000004 -0.3816737677919766 +v 1.3816737677919764 0.12812500000000004 -0.5584504630886136 +v 1.5584504630886133 -0.128125 -0.3816737677919766 +v 1.3816737677919764 -0.128125 -0.5584504630886136 +v 0.41161165235168157 0.12812500000000004 0.41161165235168157 +v 0.5883883476483185 0.12812500000000004 0.5883883476483185 +v 0.41161165235168157 -0.128125 0.41161165235168157 +v 0.5883883476483185 -0.128125 0.5883883476483185 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 148/188/47 151/187/47 149/186/47 146/185/47 +f 152/192/48 147/191/48 145/190/48 150/189/48 +f 151/196/49 148/195/49 147/194/49 152/193/49 +o cube2a +v 1.2269941594074192 0.12812500000000004 -0.7131300714731708 +v 1.0502174641107824 0.12812500000000004 -0.8899067667698075 +v 1.2269941594074192 -0.128125 -0.7131300714731708 +v 1.0502174641107824 -0.128125 -0.8899067667698075 +v 0.0801553486704874 0.12812500000000004 0.08015534867048746 +v 0.25693204396712427 0.12812500000000004 0.2569320439671243 +v 0.0801553486704874 -0.128125 0.08015534867048746 +v 0.25693204396712427 -0.128125 0.2569320439671243 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 156/200/50 159/199/50 157/198/50 154/197/50 +f 160/204/51 155/203/51 153/202/51 158/201/51 +f 159/208/52 156/207/52 155/206/52 160/205/52 +o cube3a +v 0.5883883476483185 0.12812500000000004 0.5883883476483185 +v 0.41161165235168157 0.12812500000000004 0.41161165235168157 +v 0.5883883476483185 -0.128125 0.5883883476483185 +v 0.41161165235168157 -0.128125 0.41161165235168157 +v -0.5584504630886131 0.12812500000000004 1.3816737677919766 +v -0.38167376779197626 0.12812500000000004 1.5584504630886133 +v -0.5584504630886131 -0.128125 1.3816737677919766 +v -0.38167376779197626 -0.128125 1.5584504630886133 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 164/212/53 167/211/53 165/210/53 162/209/53 +f 168/216/54 163/215/54 161/214/54 166/213/54 +f 167/220/55 164/219/55 163/218/55 168/217/55 +o cube5a +v 1.8899067667698075 0.12812500000000004 -0.05021746411078254 +v 1.7131300714731708 0.12812500000000004 -0.2269941594074194 +v 1.8899067667698075 -0.128125 -0.05021746411078254 +v 1.7131300714731708 -0.128125 -0.2269941594074194 +v 0.7430679560328757 0.12812500000000004 0.7430679560328757 +v 0.9198446513295127 0.12812500000000004 0.9198446513295125 +v 0.7430679560328757 -0.128125 0.7430679560328757 +v 0.9198446513295127 -0.128125 0.9198446513295125 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 172/224/56 175/223/56 173/222/56 170/221/56 +f 176/228/57 171/227/57 169/226/57 174/225/57 +f 175/232/58 172/231/58 171/230/58 176/229/58 +o cube4a +v 0.9198446513295127 0.12812500000000004 0.9198446513295125 +v 0.7430679560328757 0.12812500000000004 0.7430679560328757 +v 0.9198446513295127 -0.128125 0.9198446513295125 +v 0.7430679560328757 -0.128125 0.7430679560328757 +v -0.22699415940741896 0.12812500000000004 1.7131300714731705 +v -0.050217464110782206 0.12812500000000004 1.8899067667698075 +v -0.22699415940741896 -0.128125 1.7131300714731705 +v -0.050217464110782206 -0.128125 1.8899067667698075 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 180/236/59 183/235/59 181/234/59 178/233/59 +f 184/240/60 179/239/60 177/238/60 182/237/60 +f 183/244/61 180/243/61 179/242/61 184/241/61 +o cube6a +v 0.25693204396712427 0.12812500000000004 0.2569320439671243 +v 0.0801553486704874 0.12812500000000004 0.08015534867048746 +v 0.25693204396712427 -0.128125 0.2569320439671243 +v 0.0801553486704874 -0.128125 0.08015534867048746 +v -0.8899067667698073 0.12812500000000004 1.0502174641107824 +v -0.7131300714731705 0.12812500000000004 1.2269941594074192 +v -0.8899067667698073 -0.128125 1.0502174641107824 +v -0.7131300714731705 -0.128125 1.2269941594074192 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 -1 0 +usemtl m_0 +f 188/248/62 191/247/62 189/246/62 186/245/62 +f 192/252/63 187/251/63 185/250/63 190/249/63 +f 191/256/64 188/255/64 187/254/64 192/253/64 +o cube7a +v 0.3453203916154427 0.12812500000000004 0.34532039161544276 +v -0.00823299897783103 0.12812500000000004 -0.00823299897783103 +v 0.3453203916154427 -0.128125 0.34532039161544276 +v -0.00823299897783103 -0.128125 -0.00823299897783103 +v -0.9782951144181258 0.12812500000000004 0.9618291164624639 +v -0.624741723824852 0.12812500000000004 1.3153825070557377 +v -0.9782951144181258 -0.128125 0.9618291164624639 +v -0.624741723824852 -0.128125 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 199/260/65 200/259/65 198/258/65 197/257/65 +f 198/264/66 193/263/66 194/262/66 197/261/66 +o cube8a +v 0.6767766952966369 0.12812500000000004 0.6767766952966369 +v 0.32322330470336313 0.12812500000000004 0.32322330470336313 +v 0.6767766952966369 -0.128125 0.6767766952966369 +v 0.32322330470336313 -0.128125 0.32322330470336313 +v -0.6468388107369316 0.12812500000000004 1.293285420143658 +v -0.2932854201436579 0.12812500000000004 1.6468388107369318 +v -0.6468388107369316 -0.128125 1.293285420143658 +v -0.2932854201436579 -0.128125 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 207/268/67 208/267/67 206/266/67 205/265/67 +f 206/272/68 201/271/68 202/270/68 205/269/68 +o cube9a +v 1.0082329989778311 0.12812500000000004 1.0082329989778311 +v 0.6546796083845573 0.12812500000000004 0.6546796083845572 +v 1.0082329989778311 -0.128125 1.0082329989778311 +v 0.6546796083845573 -0.128125 0.6546796083845572 +v -0.31538250705573745 0.12812500000000004 1.6247417238248523 +v 0.03817088353753628 0.12812500000000004 1.978295114418126 +v -0.31538250705573745 -0.128125 1.6247417238248523 +v 0.03817088353753628 -0.128125 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 215/276/69 216/275/69 214/274/69 213/273/69 +f 214/280/70 209/279/70 210/278/70 213/277/70 +o cube10a +v 1.3153825070557377 0.12812500000000004 -0.6247417238248523 +v 0.9618291164624639 0.12812500000000004 -0.9782951144181262 +v 1.3153825070557377 -0.128125 -0.6247417238248523 +v 0.9618291164624639 -0.128125 -0.9782951144181262 +v -0.00823299897783103 0.12812500000000004 -0.00823299897783103 +v 0.3453203916154427 0.12812500000000004 0.34532039161544276 +v -0.00823299897783103 -0.128125 -0.00823299897783103 +v 0.3453203916154427 -0.128125 0.34532039161544276 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 219/284/71 220/283/71 218/282/71 217/281/71 +f 222/288/72 217/287/72 218/286/72 221/285/72 +o cube11a +v 1.6468388107369318 0.12812500000000004 -0.2932854201436582 +v 1.293285420143658 0.12812500000000004 -0.6468388107369321 +v 1.6468388107369318 -0.128125 -0.2932854201436582 +v 1.293285420143658 -0.128125 -0.6468388107369321 +v 0.32322330470336313 0.12812500000000004 0.32322330470336313 +v 0.6767766952966369 0.12812500000000004 0.6767766952966369 +v 0.32322330470336313 -0.128125 0.32322330470336313 +v 0.6767766952966369 -0.128125 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 227/292/73 228/291/73 226/290/73 225/289/73 +f 230/296/74 225/295/74 226/294/74 229/293/74 +o cube12a +v 1.978295114418126 0.12812500000000004 0.03817088353753595 +v 1.6247417238248523 0.12812500000000004 -0.3153825070557379 +v 1.978295114418126 -0.128125 0.03817088353753595 +v 1.6247417238248523 -0.128125 -0.3153825070557379 +v 0.6546796083845573 0.12812500000000004 0.6546796083845572 +v 1.0082329989778311 0.12812500000000004 1.0082329989778311 +v 0.6546796083845573 -0.128125 0.6546796083845572 +v 1.0082329989778311 -0.128125 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0 1 0 +usemtl m_1 +f 235/300/75 236/299/75 234/298/75 233/297/75 +f 238/304/76 233/303/76 234/302/76 237/301/76 +o rail1a +v 1.7838407495918251 0.06562500000000004 0.2326252483638368 +v 0.7673747516361631 0.06562500000000004 -0.7838407495918251 +v 1.7838407495918251 0.0625 0.2326252483638368 +v 0.7673747516361631 0.0625 -0.7838407495918251 +v 0.5817592215746946 0.06562500000000004 -0.5982252195303568 +v 1.5982252195303568 0.06562500000000004 0.4182407784253054 +v 0.5817592215746946 0.0625 -0.5982252195303568 +v 1.5982252195303568 0.0625 0.4182407784253054 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 246/308/77 241/307/77 242/306/77 245/305/77 +f 247/312/78 244/311/78 243/310/78 248/309/78 +o rail2a +v 1.7794213322094095 0.34062499999999996 0.2370446657462525 +v 0.7629553342537474 0.34062499999999996 -0.7794213322094095 +v 1.7794213322094095 0.3375 0.2370446657462525 +v 0.7629553342537474 0.3375 -0.7794213322094095 +v 0.5861786389571104 0.34062499999999996 -0.6026446369127725 +v 1.6026446369127725 0.34062499999999996 0.41382136104288947 +v 0.5861786389571104 0.3375 -0.6026446369127725 +v 1.6026446369127725 0.3375 0.41382136104288947 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 254/316/79 249/315/79 250/314/79 253/313/79 +f 255/320/80 252/319/80 251/318/80 256/317/80 +o rail3a +v 1.7595339539885377 0.34062499999999996 0.2569320439671242 +v 0.7430679560328757 0.34062499999999996 -0.7595339539885377 +v 1.7595339539885377 0.06562500000000004 0.2569320439671242 +v 0.7430679560328757 0.06562500000000004 -0.7595339539885377 +v 0.606066017177982 0.34062499999999996 -0.6225320151336442 +v 1.6225320151336442 0.34062499999999996 0.39393398282201786 +v 0.606066017177982 0.06562500000000004 -0.6225320151336442 +v 1.6225320151336442 0.06562500000000004 0.39393398282201786 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 260/324/81 263/323/81 261/322/81 258/321/81 +f 259/328/82 260/327/82 258/326/82 257/325/82 +f 264/332/83 259/331/83 257/330/83 262/329/83 +f 263/336/84 264/335/84 262/334/84 261/333/84 +o rail4a +v 0.4138213610428896 0.34062499999999996 1.6026446369127725 +v -0.6026446369127725 0.34062499999999996 0.5861786389571105 +v 0.4138213610428896 0.3375 1.6026446369127725 +v -0.6026446369127725 0.3375 0.5861786389571105 +v -0.7794213322094095 0.34062499999999996 0.7629553342537474 +v 0.23704466574625271 0.34062499999999996 1.7794213322094095 +v -0.7794213322094095 0.3375 0.7629553342537474 +v 0.23704466574625271 0.3375 1.7794213322094095 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 270/340/85 265/339/85 266/338/85 269/337/85 +f 271/344/86 268/343/86 267/342/86 272/341/86 +o rail5a +v 0.39393398282201786 0.34062499999999996 1.6225320151336442 +v -0.6225320151336442 0.34062499999999996 0.6060660171779821 +v 0.39393398282201786 0.06562500000000004 1.6225320151336442 +v -0.6225320151336442 0.06562500000000004 0.6060660171779821 +v -0.7595339539885377 0.34062499999999996 0.7430679560328758 +v 0.2569320439671243 0.34062499999999996 1.7595339539885377 +v -0.7595339539885377 0.06562500000000004 0.7430679560328758 +v 0.2569320439671243 0.06562500000000004 1.7595339539885377 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 276/348/87 279/347/87 277/346/87 274/345/87 +f 275/352/88 276/351/88 274/350/88 273/349/88 +f 280/356/89 275/355/89 273/354/89 278/353/89 +f 279/360/90 280/359/90 278/358/90 277/357/90 +o rail6a +v 0.4182407784253055 0.06562500000000004 1.5982252195303568 +v -0.5982252195303566 0.06562500000000004 0.5817592215746946 +v 0.4182407784253055 0.0625 1.5982252195303568 +v -0.5982252195303566 0.0625 0.5817592215746946 +v -0.7838407495918251 0.06562500000000004 0.7673747516361634 +v 0.2326252483638368 0.06562500000000004 1.7838407495918256 +v -0.7838407495918251 0.0625 0.7673747516361634 +v 0.2326252483638368 0.0625 1.7838407495918256 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 286/364/91 281/363/91 282/362/91 285/361/91 +f 287/368/92 284/367/92 283/366/92 288/365/92 +o middle +v 1.737436867076458 0.13515624999999998 0.4999999999999999 +v 0.4999999999999999 0.13515624999999998 -0.737436867076458 +v 1.737436867076458 -0.13046874999999997 0.4999999999999999 +v 0.4999999999999999 -0.13046874999999997 -0.737436867076458 +v -0.737436867076458 0.13515624999999998 0.5000000000000001 +v 0.5000000000000001 0.13515624999999998 1.737436867076458 +v -0.737436867076458 -0.13046874999999997 0.5000000000000001 +v 0.5000000000000001 -0.13046874999999997 1.737436867076458 +vt 0.0625 0.1875 +vt 0.9375 0.1875 +vt 0.9375 0.0625 +vt 0.0625 0.0625 +vt 0.0625 0.1875 +vt 0.9375 0.1875 +vt 0.9375 0.0625 +vt 0.0625 0.0625 +vt 0.0625 0.1875 +vt 0.9375 0.1875 +vt 0.9375 0.0625 +vt 0.0625 0.0625 +vt 0.0625 0.1875 +vt 0.9375 0.1875 +vt 0.9375 0.0625 +vt 0.0625 0.0625 +vt 0.0625 0.0625 +vt 0.0625 0.9375 +vt 0.9375 0.9375 +vt 0.9375 0.0625 +vt 0.0625 0.0625 +vt 0.0625 0.9375 +vt 0.9375 0.9375 +vt 0.9375 0.0625 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 1 0 +vn 0 -1 0 +usemtl m_2 +f 292/372/93 295/371/93 293/370/93 290/369/93 +f 291/376/94 292/375/94 290/374/94 289/373/94 +f 296/380/95 291/379/95 289/378/95 294/377/95 +f 295/384/96 296/383/96 294/382/96 293/381/96 +f 294/388/97 289/387/97 290/386/97 293/385/97 +f 295/392/98 292/391/98 291/390/98 296/389/98 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_diag_template.json b/src/main/resources/assets/create/models/block/track/cross_diag_template.json new file mode 100644 index 000000000..4dc753565 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_diag_template.json @@ -0,0 +1,406 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip", + "3": "create:block/standard_track_crossing", + "particle": "create:block/standard_track_crossing" + }, + "elements": [ + { + "name": "cube1a", + "from": [16, 5.95, 14], + "to": [37.95, 10.05, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube2a", + "from": [16, 5.95, 6.5], + "to": [37.95, 10.05, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube3a", + "from": [-5.95, 5.95, 14], + "to": [16, 10.05, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube5a", + "from": [16, 5.95, 21.5], + "to": [37.95, 10.05, 25.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube4a", + "from": [-5.95, 5.95, 21.5], + "to": [16, 10.05, 25.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube6a", + "from": [-5.95, 5.95, 6.5], + "to": [16, 10.05, 10.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube7a", + "from": [-5.95, 5.95, 4.5], + "to": [16, 10.05, 12.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube8a", + "from": [-5.95, 5.95, 12], + "to": [16, 10.05, 20], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube9a", + "from": [-5.95, 5.95, 19.5], + "to": [16, 10.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "west": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube10a", + "from": [16, 5.95, 4.5], + "to": [37.95, 10.05, 12.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "cube11a", + "from": [16, 5.95, 12], + "to": [37.95, 10.05, 20], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "cube12a", + "from": [16, 5.95, 19.5], + "to": [37.95, 10.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "texture": "#2"} + } + }, + { + "name": "rail1a", + "from": [29.35, 9, 4.5], + "to": [33.55, 9.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail2a", + "from": [29.45, 13.4, 4.5], + "to": [33.45, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail3a", + "from": [29.9, 9.05, 4.5], + "to": [33, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "east": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "south": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "west": {"uv": [0, 6, 11.5, 8], "texture": "#1"} + } + }, + { + "name": "rail4a", + "from": [-1.45, 13.4, 4.5], + "to": [2.55, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "rail5a", + "from": [-1, 9.05, 4.5], + "to": [2.1, 13.45, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "east": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "south": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11.5, 6, 0, 8], "texture": "#1"} + } + }, + { + "name": "rail6a", + "from": [-1.55, 9, 4.5], + "to": [2.65, 9.05, 27.5], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube1", + "from": [14, 6.0125, 16], + "to": [18, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [21.5, 6.0125, 16], + "to": [25.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [14, 6.0125, -5.95], + "to": [18, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [6.5, 6.0125, 16], + "to": [10.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [6.5, 6.0125, -5.95], + "to": [10.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube6", + "from": [21.5, 6.0125, -5.95], + "to": [25.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "middle", + "from": [2, 5.9125, 2], + "to": [30, 10.1625, 30], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [1, 13, 15, 15], "texture": "#3"}, + "east": {"uv": [1, 13, 15, 15], "texture": "#3"}, + "south": {"uv": [1, 13, 15, 15], "texture": "#3"}, + "west": {"uv": [1, 13, 15, 15], "texture": "#3"}, + "up": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#3"}, + "down": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#3"} + } + }, + { + "name": "cube7", + "from": [19.5, 6.0125, -5.95], + "to": [27.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube8", + "from": [12, 6.0125, -5.95], + "to": [20, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube9", + "from": [4.5, 6.0125, -5.95], + "to": [12.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube10", + "from": [19.5, 6.0125, 16], + "to": [27.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube11", + "from": [12, 6.0125, 16], + "to": [20, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube12", + "from": [4.5, 6.0125, 16], + "to": [12.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "rail1", + "from": [4.5, 9.0625, 29.35], + "to": [27.5, 9.1125, 33.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail2", + "from": [4.5, 13.4625, 29.45], + "to": [27.5, 13.5125, 33.45], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail3", + "from": [4.5, 9.1125, 29.9], + "to": [27.5, 13.5125, 33], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "rail4", + "from": [4.5, 13.4625, -1.45], + "to": [27.5, 13.5125, 2.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail5", + "from": [4.5, 9.1125, -1], + "to": [27.5, 13.5125, 2.1], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + }, + { + "name": "rail6", + "from": [4.5, 9.0625, -1.55], + "to": [27.5, 9.1125, 2.65], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/cross_ortho.json b/src/main/resources/assets/create/models/block/track/cross_ortho.json new file mode 100644 index 000000000..7cf0e2279 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/cross_ortho.json @@ -0,0 +1,304 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip", + "3": "create:block/standard_track_crossing", + "particle": "create:block/standard_track_crossing" + }, + "elements": [ + { + "name": "cube1", + "from": [10, -2.01875, -13.95], + "to": [14, 2.08125, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [2, -2.01875, -13.95], + "to": [6, 2.08125, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [10, -2.01875, 8], + "to": [14, 2.08125, 29.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [2, -2.01875, 8], + "to": [6, 2.08125, 29.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [0, -2.01875, 8], + "to": [16, 2.08125, 29.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "south": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube6", + "from": [0, -2.01875, -13.95], + "to": [16, 2.08125, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "tie1", + "from": [0, 1.03125, -9.55], + "to": [16, 1.08125, -5.35], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "texture": "#1"} + } + }, + { + "name": "tie2", + "from": [0, 5.43125, -9.45], + "to": [16, 5.48125, -5.45], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "texture": "#1"} + } + }, + { + "name": "tie3", + "from": [0, 1.08125, -9], + "to": [16, 5.48125, -5.9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "tie4", + "from": [0, 5.43125, 21.45], + "to": [16, 5.48125, 25.45], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "texture": "#1"} + } + }, + { + "name": "tie5", + "from": [0, 1.08125, 21.9], + "to": [16, 5.48125, 25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + }, + { + "name": "tie6", + "from": [0, 1.03125, 21.35], + "to": [16, 1.08125, 25.55], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "texture": "#1"} + } + }, + { + "name": "cube1", + "from": [8, -1.95625, 10], + "to": [29.95, 2.14375, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [-6.05, -2.05, -6.05], + "to": [22.05, 2.2, 22.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [1, 1, 15, 3], "texture": "#3"}, + "east": {"uv": [1, 1, 15, 3], "texture": "#3"}, + "south": {"uv": [1, 1, 15, 3], "texture": "#3"}, + "west": {"uv": [1, 1, 15, 3], "texture": "#3"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#3"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#3"} + } + }, + { + "name": "cube2", + "from": [8, -1.95625, 2], + "to": [29.95, 2.14375, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [-13.95, -1.95625, 10], + "to": [8, 2.14375, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [-13.95, -1.95625, 2], + "to": [8, 2.14375, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [-13.95, -1.95625, 0], + "to": [8, 2.14375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "west": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "cube6", + "from": [8, -1.95625, 0], + "to": [29.95, 2.14375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0.5, 10.975, 8.5], "texture": "#2"} + } + }, + { + "name": "tie1", + "from": [21.35, 1.09375, 0], + "to": [25.55, 1.14375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie2", + "from": [21.45, 5.49375, 0], + "to": [25.45, 5.54375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie3", + "from": [21.9, 1.14375, 0], + "to": [25, 5.54375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "east": {"uv": [0, 6, 8, 8], "texture": "#1"}, + "south": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "west": {"uv": [0, 6, 8, 8], "texture": "#1"} + } + }, + { + "name": "tie4", + "from": [-9.45, 5.49375, 0], + "to": [-5.45, 5.54375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "tie5", + "from": [-9, 1.14375, 0], + "to": [-5.9, 5.54375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "east": {"uv": [8, 6, 0, 8], "texture": "#1"}, + "south": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [8, 6, 0, 8], "texture": "#1"} + } + }, + { + "name": "tie6", + "from": [-9.55, 1.09375, 0], + "to": [-5.35, 1.14375, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + }, + { + "name": "z_ortho", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/diag.json b/src/main/resources/assets/create/models/block/track/diag.json index cd16063f5..c9a00029c 100644 --- a/src/main/resources/assets/create/models/block/track/diag.json +++ b/src/main/resources/assets/create/models/block/track/diag.json @@ -1,11 +1,6 @@ { + "parent": "create:block/track/obj_track", "loader": "forge:obj", - "ambientocclusion": false, "flip-v": true, - "model": "create:models/block/track/diag.obj", - "textures": { - "0": "create:block/standard_track", - "1": "create:block/standard_track_mip", - "particle": "create:block/palettes/stone_types/polished/andesite_cut_polished" - } + "model": "create:models/block/track/diag.obj" } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/diag.mtl b/src/main/resources/assets/create/models/block/track/diag.mtl deleted file mode 100644 index f117ad543..000000000 --- a/src/main/resources/assets/create/models/block/track/diag.mtl +++ /dev/null @@ -1,6 +0,0 @@ -# Made in Blockbench 4.1.4 -newmtl m_1 -map_Kd #0 -newmtl m_2 -map_Kd #1 -newmtl none \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/diag.obj b/src/main/resources/assets/create/models/block/track/diag.obj index ca0336edb..7b5b0222f 100644 --- a/src/main/resources/assets/create/models/block/track/diag.obj +++ b/src/main/resources/assets/create/models/block/track/diag.obj @@ -1,5 +1,5 @@ # Made in Blockbench 4.1.4 -mtllib diag.mtl +mtllib track.mtl o cube1 v 1.5584504630886133 0.12812500000000004 -0.3816737677919766 @@ -25,7 +25,7 @@ vt 0 0.625 vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865476 0 0.7071067811865475 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 4/4/1 7/3/1 5/2/1 2/1/1 f 8/8/2 3/7/2 1/6/2 6/5/2 f 7/12/3 4/11/3 3/10/3 8/9/3 @@ -53,7 +53,7 @@ vt 0 0.625 vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865476 0 0.7071067811865475 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 12/16/4 15/15/4 13/14/4 10/13/4 f 16/20/5 11/19/5 9/18/5 14/17/5 f 15/24/6 12/23/6 11/22/6 16/21/6 @@ -81,7 +81,7 @@ vt 0.6875 0.75 vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865476 0 0.7071067811865475 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 20/28/7 23/27/7 21/26/7 18/25/7 f 24/32/8 19/31/8 17/30/8 22/29/8 f 23/36/9 20/35/9 19/34/9 24/33/9 @@ -109,7 +109,7 @@ vt 0 0.625 vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865476 0 0.7071067811865475 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 28/40/10 31/39/10 29/38/10 26/37/10 f 32/44/11 27/43/11 25/42/11 30/41/11 f 31/48/12 28/47/12 27/46/12 32/45/12 @@ -137,7 +137,7 @@ vt 0.6875 0.75 vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865476 0 0.7071067811865475 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 36/52/13 39/51/13 37/50/13 34/49/13 f 40/56/14 35/55/14 33/54/14 38/53/14 f 39/60/15 36/59/15 35/58/15 40/57/15 @@ -165,7 +165,7 @@ vt 0.6875 0.75 vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865476 0 0.7071067811865475 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 44/64/16 47/63/16 45/62/16 42/61/16 f 48/68/17 43/67/17 41/66/17 46/65/17 f 47/72/18 44/71/18 43/70/18 48/69/18 @@ -188,7 +188,7 @@ vt 0 0.34375 vt 0 0.46875 vn 0 1 0 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 54/76/19 49/75/19 50/74/19 53/73/19 f 55/80/20 52/79/20 51/78/20 56/77/20 o rail2 @@ -210,7 +210,7 @@ vt 0 0.34375 vt 0 0.46875 vn 0 1 0 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 62/84/21 57/83/21 58/82/21 61/81/21 f 63/88/22 60/87/22 59/86/22 64/85/22 o rail3 @@ -242,7 +242,7 @@ vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865475 0 -0.7071067811865476 vn 0.7071067811865476 0 0.7071067811865475 vn -0.7071067811865475 0 0.7071067811865476 -usemtl m_1 +usemtl m_0 f 68/92/23 71/91/23 69/90/23 66/89/23 f 67/96/24 68/95/24 66/94/24 65/93/24 f 72/100/25 67/99/25 65/98/25 70/97/25 @@ -266,7 +266,7 @@ vt 0 0.46875 vt 0 0.34375 vn 0 1 0 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 78/108/27 73/107/27 74/106/27 77/105/27 f 79/112/28 76/111/28 75/110/28 80/109/28 o rail5 @@ -298,7 +298,7 @@ vn -0.7071067811865476 0 -0.7071067811865475 vn 0.7071067811865475 0 -0.7071067811865476 vn 0.7071067811865476 0 0.7071067811865475 vn -0.7071067811865475 0 0.7071067811865476 -usemtl m_1 +usemtl m_0 f 84/116/29 87/115/29 85/114/29 82/113/29 f 83/120/30 84/119/30 82/118/30 81/117/30 f 88/124/31 83/123/31 81/122/31 86/121/31 @@ -322,7 +322,7 @@ vt 0 0.46875 vt 0 0.34375 vn 0 1 0 vn 0 -1 0 -usemtl m_1 +usemtl m_0 f 94/132/33 89/131/33 90/130/33 93/129/33 f 95/136/34 92/135/34 91/134/34 96/133/34 o cube7 @@ -344,7 +344,7 @@ vt 0 0.71875 vt 0.6875 0.71875 vn -0.7071067811865475 0 0.7071067811865476 vn 0 1 0 -usemtl m_2 +usemtl m_1 f 103/140/35 104/139/35 102/138/35 101/137/35 f 102/144/36 97/143/36 98/142/36 101/141/36 o cube8 @@ -366,7 +366,7 @@ vt 0 0.71875 vt 0.6875 0.71875 vn -0.7071067811865475 0 0.7071067811865476 vn 0 1 0 -usemtl m_2 +usemtl m_1 f 111/148/37 112/147/37 110/146/37 109/145/37 f 110/152/38 105/151/38 106/150/38 109/149/38 o cube9 @@ -388,7 +388,7 @@ vt 0 0.71875 vt 0.6875 0.71875 vn -0.7071067811865475 0 0.7071067811865476 vn 0 1 0 -usemtl m_2 +usemtl m_1 f 119/156/39 120/155/39 118/154/39 117/153/39 f 118/160/40 113/159/40 114/158/40 117/157/40 o cube12 @@ -410,7 +410,7 @@ vt 0.6875 0.46875 vt 0 0.46875 vn 0.7071067811865475 0 -0.7071067811865476 vn 0 1 0 -usemtl m_2 +usemtl m_1 f 123/164/41 124/163/41 122/162/41 121/161/41 f 126/168/42 121/167/42 122/166/42 125/165/42 o cube11 @@ -432,7 +432,7 @@ vt 0.6875 0.46875 vt 0 0.46875 vn 0.7071067811865475 0 -0.7071067811865476 vn 0 1 0 -usemtl m_2 +usemtl m_1 f 131/172/43 132/171/43 130/170/43 129/169/43 f 134/176/44 129/175/44 130/174/44 133/173/44 o cube10 @@ -454,6 +454,6 @@ vt 0.6875 0.46875 vt 0 0.46875 vn 0.7071067811865475 0 -0.7071067811865476 vn 0 1 0 -usemtl m_2 +usemtl m_1 f 139/180/45 140/179/45 138/178/45 137/177/45 f 142/184/46 137/183/46 138/182/46 141/181/46 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/diag_2.json b/src/main/resources/assets/create/models/block/track/diag_2.json new file mode 100644 index 000000000..6f6ff1165 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/diag_2.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/track/obj_track", + "loader": "forge:obj", + "flip-v": true, + "model": "create:models/block/track/diag_2.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/diag_2.obj b/src/main/resources/assets/create/models/block/track/diag_2.obj new file mode 100644 index 000000000..99aa47176 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/diag_2.obj @@ -0,0 +1,459 @@ +# Made in Blockbench 4.1.4 +mtllib track.mtl + +o cube1 +v 1.5584504630886136 0.13203125000000004 1.3816737677919764 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v 1.5584504630886136 -0.12421874999999999 1.3816737677919764 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v 1.3816737677919766 0.13203125000000004 1.5584504630886133 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +v 1.3816737677919766 -0.12421874999999999 1.5584504630886133 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 3/4/1 4/3/1 2/2/1 1/1/1 +f 7/8/2 8/7/2 6/6/2 5/5/2 +f 7/12/3 4/11/3 3/10/3 8/9/3 +o cube2 +v 1.8899067667698075 0.13203125000000004 1.0502174641107824 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v 1.8899067667698075 -0.12421874999999999 1.0502174641107824 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v 1.7131300714731708 0.13203125000000004 1.2269941594074192 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +v 1.7131300714731708 -0.12421874999999999 1.2269941594074192 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 11/16/4 12/15/4 10/14/4 9/13/4 +f 15/20/5 16/19/5 14/18/5 13/17/5 +f 15/24/6 12/23/6 11/22/6 16/21/6 +o cube3 +v 0.5883883476483185 0.13203125000000004 0.41161165235168157 +v -0.3816737677919766 0.13203125000000004 -0.5584504630886131 +v 0.5883883476483185 -0.12421874999999999 0.41161165235168157 +v -0.3816737677919766 -0.12421874999999999 -0.5584504630886131 +v -0.5584504630886133 0.13203125000000004 -0.38167376779197626 +v 0.41161165235168157 0.13203125000000004 0.5883883476483185 +v -0.5584504630886133 -0.12421874999999999 -0.38167376779197626 +v 0.41161165235168157 -0.12421874999999999 0.5883883476483185 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 19/28/7 20/27/7 18/26/7 17/25/7 +f 23/32/8 24/31/8 22/30/8 21/29/8 +f 23/36/9 20/35/9 19/34/9 24/33/9 +o cube5 +v 1.2269941594074194 0.13203125000000004 1.7131300714731708 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v 1.2269941594074194 -0.12421874999999999 1.7131300714731708 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v 1.0502174641107827 0.13203125000000004 1.8899067667698075 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +v 1.0502174641107827 -0.12421874999999999 1.8899067667698075 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vt 0 0.625 +vt 0 0.75 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 27/40/10 28/39/10 26/38/10 25/37/10 +f 31/44/11 32/43/11 30/42/11 29/41/11 +f 31/48/12 28/47/12 27/46/12 32/45/12 +o cube4 +v 0.2569320439671243 0.13203125000000004 0.7430679560328757 +v -0.7131300714731705 0.13203125000000004 -0.22699415940741896 +v 0.2569320439671243 -0.12421874999999999 0.7430679560328757 +v -0.7131300714731705 -0.12421874999999999 -0.22699415940741896 +v -0.8899067667698075 0.13203125000000004 -0.050217464110782206 +v 0.08015534867048746 0.13203125000000004 0.9198446513295127 +v -0.8899067667698075 -0.12421874999999999 -0.050217464110782206 +v 0.08015534867048746 -0.12421874999999999 0.9198446513295127 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 35/52/13 36/51/13 34/50/13 33/49/13 +f 39/56/14 40/55/14 38/54/14 37/53/14 +f 39/60/15 36/59/15 35/58/15 40/57/15 +o cube6 +v 0.9198446513295125 0.13203125000000004 0.0801553486704874 +v -0.05021746411078243 0.13203125000000004 -0.8899067667698073 +v 0.9198446513295125 -0.12421874999999999 0.0801553486704874 +v -0.05021746411078243 -0.12421874999999999 -0.8899067667698073 +v -0.2269941594074193 0.13203125000000004 -0.7131300714731705 +v 0.7430679560328757 0.13203125000000004 0.25693204396712427 +v -0.2269941594074193 -0.12421874999999999 -0.7131300714731705 +v 0.7430679560328757 -0.12421874999999999 0.25693204396712427 +vt 0 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0 0.75 +vt 0.6875 0.875 +vt 0 0.875 +vt 0 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0 0.75 +vt 0.6875 0.75 +vt 0.6875 0.625 +vn 0.7071067811865475 0 -0.7071067811865476 +vn -0.7071067811865475 0 0.7071067811865476 +vn 0 -1 0 +usemtl m_0 +f 43/64/16 44/63/16 42/62/16 41/61/16 +f 47/68/17 48/67/17 46/66/17 45/65/17 +f 47/72/18 44/71/18 43/70/18 48/69/18 +o cube7 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 0.03817088353753606 0.13203125000000004 -0.9782951144181258 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.03817088353753606 -0.12421874999999999 -0.9782951144181258 +v -0.31538250705573767 0.13203125000000004 -0.624741723824852 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v -0.31538250705573767 -0.12421874999999999 -0.624741723824852 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 52/76/19 55/75/19 53/74/19 50/73/19 +f 54/80/20 49/79/20 50/78/20 53/77/20 +o cube8 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v -0.2932854201436581 0.13203125000000004 -0.6468388107369316 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v -0.2932854201436581 -0.12421874999999999 -0.6468388107369316 +v -0.6468388107369318 0.13203125000000004 -0.2932854201436579 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v -0.6468388107369318 -0.12421874999999999 -0.2932854201436579 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 60/84/21 63/83/21 61/82/21 58/81/21 +f 62/88/22 57/87/22 58/86/22 61/85/22 +o cube9 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v -0.6247417238248523 0.13203125000000004 -0.31538250705573745 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.6247417238248523 -0.12421874999999999 -0.31538250705573745 +v -0.978295114418126 0.13203125000000004 0.03817088353753628 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v -0.978295114418126 -0.12421874999999999 0.03817088353753628 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 68/92/23 71/91/23 69/90/23 66/89/23 +f 70/96/24 65/95/24 66/94/24 69/93/24 +o cube10 +v 1.9782951144181262 0.13203125000000004 0.9618291164624639 +v 1.0082329989778311 0.13203125000000004 -0.00823299897783103 +v 1.9782951144181262 -0.12421874999999999 0.9618291164624639 +v 1.0082329989778311 -0.12421874999999999 -0.00823299897783103 +v 0.6546796083845572 0.13203125000000004 0.3453203916154427 +v 1.6247417238248523 0.13203125000000004 1.3153825070557377 +v 0.6546796083845572 -0.12421874999999999 0.3453203916154427 +v 1.6247417238248523 -0.12421874999999999 1.3153825070557377 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 80/100/25 75/99/25 73/98/25 78/97/25 +f 78/104/26 73/103/26 74/102/26 77/101/26 +o cube11 +v 1.646838810736932 0.13203125000000004 1.293285420143658 +v 0.6767766952966369 0.13203125000000004 0.32322330470336313 +v 1.646838810736932 -0.12421874999999999 1.293285420143658 +v 0.6767766952966369 -0.12421874999999999 0.32322330470336313 +v 0.32322330470336313 0.13203125000000004 0.6767766952966369 +v 1.293285420143658 0.13203125000000004 1.6468388107369318 +v 0.32322330470336313 -0.12421874999999999 0.6767766952966369 +v 1.293285420143658 -0.12421874999999999 1.6468388107369318 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 88/108/27 83/107/27 81/106/27 86/105/27 +f 86/112/28 81/111/28 82/110/28 85/109/28 +o cube12 +v 1.315382507055738 0.13203125000000004 1.6247417238248523 +v 0.34532039161544276 0.13203125000000004 0.6546796083845573 +v 1.315382507055738 -0.12421874999999999 1.6247417238248523 +v 0.34532039161544276 -0.12421874999999999 0.6546796083845573 +v -0.00823299897783103 0.13203125000000004 1.0082329989778311 +v 0.961829116462464 0.13203125000000004 1.978295114418126 +v -0.00823299897783103 -0.12421874999999999 1.0082329989778311 +v 0.961829116462464 -0.12421874999999999 1.978295114418126 +vt 0.6875 0.46875 +vt 0.6875 0.71875 +vt 0.8125 0.71875 +vt 0.8125 0.46875 +vt 0 0.46875 +vt 0 0.71875 +vt 0.6875 0.71875 +vt 0.6875 0.46875 +vn 0.7071067811865476 0 0.7071067811865475 +vn 0 1 0 +usemtl m_1 +f 96/116/29 91/115/29 89/114/29 94/113/29 +f 94/120/30 89/119/30 90/118/30 93/117/30 +o rail1 +v 1.7838407495918251 0.06953125000000004 0.7673747516361631 +v 1.5982252195303568 0.06953125000000004 0.5817592215746946 +v 1.7838407495918251 0.06640625 0.7673747516361631 +v 1.5982252195303568 0.06640625 0.5817592215746946 +v 0.5817592215746946 0.06953125000000004 1.5982252195303568 +v 0.7673747516361632 0.06953125000000004 1.7838407495918251 +v 0.5817592215746946 0.06640625 1.5982252195303568 +v 0.7673747516361632 0.06640625 1.7838407495918251 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 102/124/31 97/123/31 98/122/31 101/121/31 +f 103/128/32 100/127/32 99/126/32 104/125/32 +o rail2 +v 1.7794213322094095 0.34453124999999996 0.7629553342537474 +v 1.6026446369127725 0.34453124999999996 0.5861786389571104 +v 1.7794213322094095 0.34140625 0.7629553342537474 +v 1.6026446369127725 0.34140625 0.5861786389571104 +v 0.5861786389571105 0.34453124999999996 1.6026446369127725 +v 0.7629553342537475 0.34453124999999996 1.7794213322094095 +v 0.5861786389571105 0.34140625 1.6026446369127725 +v 0.7629553342537475 0.34140625 1.7794213322094095 +vt 0 0.28125 +vt 0.71875 0.28125 +vt 0.71875 0.15625 +vt 0 0.15625 +vt 0.71875 0.34375 +vt 0 0.34375 +vt 0 0.46875 +vt 0.71875 0.46875 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 110/132/33 105/131/33 106/130/33 109/129/33 +f 111/136/34 108/135/34 107/134/34 112/133/34 +o rail3 +v 1.7595339539885377 0.34453124999999996 0.7430679560328757 +v 1.6225320151336442 0.34453124999999996 0.606066017177982 +v 1.7595339539885377 0.06953125000000004 0.7430679560328757 +v 1.6225320151336442 0.06953125000000004 0.606066017177982 +v 0.6060660171779821 0.34453124999999996 1.6225320151336442 +v 0.7430679560328758 0.34453124999999996 1.7595339539885377 +v 0.6060660171779821 0.06953125000000004 1.6225320151336442 +v 0.7430679560328758 0.06953125000000004 1.7595339539885377 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vt 0 0.625 +vt 0.71875 0.625 +vt 0.71875 0.5 +vt 0 0.5 +vt 0.6875 0.875 +vt 0.78125 0.875 +vt 0.78125 0.75 +vt 0.6875 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 116/140/35 119/139/35 117/138/35 114/137/35 +f 115/144/36 116/143/36 114/142/36 113/141/36 +f 120/148/37 115/147/37 113/146/37 118/145/37 +f 119/152/38 120/151/38 118/150/38 117/149/38 +o rail4 +v 0.41382136104288947 0.34453124999999996 -0.6026446369127725 +v 0.2370446657462526 0.34453124999999996 -0.7794213322094095 +v 0.41382136104288947 0.34140625 -0.6026446369127725 +v 0.2370446657462526 0.34140625 -0.7794213322094095 +v -0.7794213322094095 0.34453124999999996 0.23704466574625271 +v -0.6026446369127725 0.34453124999999996 0.4138213610428896 +v -0.7794213322094095 0.34140625 0.23704466574625271 +v -0.6026446369127725 0.34140625 0.4138213610428896 +vt 0 0.15625 +vt 0.71875 0.15625 +vt 0.71875 0.28125 +vt 0 0.28125 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 126/156/39 121/155/39 122/154/39 125/153/39 +f 127/160/40 124/159/40 123/158/40 128/157/40 +o rail5 +v 0.39393398282201786 0.34453124999999996 -0.6225320151336442 +v 0.2569320439671242 0.34453124999999996 -0.7595339539885377 +v 0.39393398282201786 0.06953125000000004 -0.6225320151336442 +v 0.2569320439671242 0.06953125000000004 -0.7595339539885377 +v -0.7595339539885377 0.34453124999999996 0.2569320439671243 +v -0.6225320151336442 0.34453124999999996 0.39393398282201786 +v -0.7595339539885377 0.06953125000000004 0.2569320439671243 +v -0.6225320151336442 0.06953125000000004 0.39393398282201786 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vt 0.71875 0.625 +vt 0 0.625 +vt 0 0.5 +vt 0.71875 0.5 +vt 0.78125 0.875 +vt 0.6875 0.875 +vt 0.6875 0.75 +vt 0.78125 0.75 +vn -0.7071067811865476 0 -0.7071067811865475 +vn 0.7071067811865475 0 -0.7071067811865476 +vn 0.7071067811865476 0 0.7071067811865475 +vn -0.7071067811865475 0 0.7071067811865476 +usemtl m_0 +f 132/164/41 135/163/41 133/162/41 130/161/41 +f 131/168/42 132/167/42 130/166/42 129/165/42 +f 136/172/43 131/171/43 129/170/43 134/169/43 +f 135/176/44 136/175/44 134/174/44 133/173/44 +o rail6 +v 0.4182407784253054 0.06953125000000004 -0.5982252195303566 +v 0.23262524836383658 0.06953125000000004 -0.7838407495918251 +v 0.4182407784253054 0.06640625 -0.5982252195303566 +v 0.23262524836383658 0.06640625 -0.7838407495918251 +v -0.7838407495918256 0.06953125000000004 0.2326252483638368 +v -0.5982252195303568 0.06953125000000004 0.4182407784253055 +v -0.7838407495918256 0.06640625 0.2326252483638368 +v -0.5982252195303568 0.06640625 0.4182407784253055 +vt 0 0.34375 +vt 0.71875 0.34375 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0.71875 0.46875 +vt 0 0.46875 +vt 0 0.34375 +vt 0.71875 0.34375 +vn 0 1 0 +vn 0 -1 0 +usemtl m_0 +f 142/180/45 137/179/45 138/178/45 141/177/45 +f 143/184/46 140/183/46 139/182/46 144/181/46 \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/diag_2_template.json b/src/main/resources/assets/create/models/block/track/diag_2_template.json new file mode 100644 index 000000000..4ae06b98a --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/diag_2_template.json @@ -0,0 +1,209 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "create:block/standard_track", + "2": "create:block/standard_track_mip", + "particle": "create:block/palettes/stone_types/polished/andesite_cut_polished" + }, + "elements": [ + { + "name": "cube1", + "from": [14, 6.0125, 16], + "to": [18, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube2", + "from": [21.5, 6.0125, 16], + "to": [25.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube3", + "from": [14, 6.0125, -5.95], + "to": [18, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube5", + "from": [6.5, 6.0125, 16], + "to": [10.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "west": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 270, "texture": "#1"} + } + }, + { + "name": "cube4", + "from": [6.5, 6.0125, -5.95], + "to": [10.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube6", + "from": [21.5, 6.0125, -5.95], + "to": [25.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, + "west": {"uv": [11, 2, 0, 4], "texture": "#1"}, + "down": {"uv": [0, 4, 11, 6], "rotation": 90, "texture": "#1"} + } + }, + { + "name": "cube7", + "from": [19.5, 6.0125, -5.95], + "to": [27.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube8", + "from": [12, 6.0125, -5.95], + "to": [20, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube9", + "from": [4.5, 6.0125, -5.95], + "to": [12.5, 10.1125, 16], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 270, "texture": "#2"} + } + }, + { + "name": "cube10", + "from": [19.5, 6.0125, 16], + "to": [27.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube11", + "from": [12, 6.0125, 16], + "to": [20, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "cube12", + "from": [4.5, 6.0125, 16], + "to": [12.5, 10.1125, 37.95], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "south": {"uv": [11, 4.5, 13, 8.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 4.5, 11, 8.5], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "rail1", + "from": [4.5, 9.0625, 29.35], + "to": [27.5, 9.1125, 33.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 8.5, 11.5, 10.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail2", + "from": [4.5, 13.4625, 29.45], + "to": [27.5, 13.5125, 33.45], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 11.5, 11.5, 13.5], "texture": "#1"}, + "down": {"uv": [0, 8.5, 11.5, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail3", + "from": [4.5, 9.1125, 29.9], + "to": [27.5, 13.5125, 33], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "east": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, + "south": {"uv": [0, 6, 11.5, 8], "texture": "#1"}, + "west": {"uv": [11, 2, 12.5, 4], "texture": "#1"} + } + }, + { + "name": "rail4", + "from": [4.5, 13.4625, -1.45], + "to": [27.5, 13.5125, 2.55], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 13.5, 11.5, 11.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "rail5", + "from": [4.5, 9.1125, -1], + "to": [27.5, 13.5125, 2.1], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "north": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "east": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, + "south": {"uv": [11.5, 6, 0, 8], "texture": "#1"}, + "west": {"uv": [12.5, 2, 11, 4], "texture": "#1"} + } + }, + { + "name": "rail6", + "from": [4.5, 9.0625, -1.55], + "to": [27.5, 9.1125, 2.65], + "rotation": {"angle": 45, "axis": "y", "origin": [16, 8, 16]}, + "faces": { + "up": {"uv": [0, 10.5, 11.5, 8.5], "texture": "#1"}, + "down": {"uv": [0, 10.5, 11.5, 8.5], "rotation": 180, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/obj_track.json b/src/main/resources/assets/create/models/block/track/obj_track.json new file mode 100644 index 000000000..770fb5c99 --- /dev/null +++ b/src/main/resources/assets/create/models/block/track/obj_track.json @@ -0,0 +1,9 @@ +{ + "ambientocclusion": false, + "textures": { + "0": "create:block/standard_track", + "1": "create:block/standard_track_mip", + "2": "create:block/standard_track_crossing", + "particle": "create:block/palettes/stone_types/polished/andesite_cut_polished" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/track.mtl b/src/main/resources/assets/create/models/block/track/track.mtl index 651d8d657..ea017c289 100644 --- a/src/main/resources/assets/create/models/block/track/track.mtl +++ b/src/main/resources/assets/create/models/block/track/track.mtl @@ -1,4 +1,8 @@ # Made in Blockbench 4.1.1 newmtl m_0 map_Kd #0 +newmtl m_1 +map_Kd #1 +newmtl m_2 +map_Kd #2 newmtl none \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/track/x_ortho.json b/src/main/resources/assets/create/models/block/track/x_ortho.json index 9c98ed84f..620e3a535 100644 --- a/src/main/resources/assets/create/models/block/track/x_ortho.json +++ b/src/main/resources/assets/create/models/block/track/x_ortho.json @@ -10,8 +10,8 @@ "elements": [ { "name": "cube1", - "from": [10, -2.05, -13.95], - "to": [14, 2.05, 8], + "from": [10, -2.01875, -13.95], + "to": [14, 2.08125, 8], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, @@ -21,8 +21,8 @@ }, { "name": "cube2", - "from": [2, -2.05, -13.95], - "to": [6, 2.05, 8], + "from": [2, -2.01875, -13.95], + "to": [6, 2.08125, 8], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "east": {"uv": [0, 2, 11, 4], "texture": "#1"}, @@ -32,8 +32,8 @@ }, { "name": "cube3", - "from": [10, -2.05, 8], - "to": [14, 2.05, 29.95], + "from": [10, -2.01875, 8], + "to": [14, 2.08125, 29.95], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, @@ -43,8 +43,8 @@ }, { "name": "cube4", - "from": [2, -2.05, 8], - "to": [6, 2.05, 29.95], + "from": [2, -2.01875, 8], + "to": [6, 2.08125, 29.95], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "east": {"uv": [11, 2, 0, 4], "texture": "#1"}, @@ -54,8 +54,8 @@ }, { "name": "cube5", - "from": [0, -2.05, 8], - "to": [16, 2.05, 29.95], + "from": [0, -2.01875, 8], + "to": [16, 2.08125, 29.95], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "south": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, @@ -64,8 +64,8 @@ }, { "name": "cube6", - "from": [0, -2.05, -13.95], - "to": [16, 2.05, 8], + "from": [0, -2.01875, -13.95], + "to": [16, 2.08125, 8], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, @@ -74,8 +74,8 @@ }, { "name": "tie1", - "from": [0, 1, -9.55], - "to": [16, 1.05, -5.35], + "from": [0, 1.03125, -9.55], + "to": [16, 1.08125, -5.35], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 180, "texture": "#1"}, @@ -84,8 +84,8 @@ }, { "name": "tie2", - "from": [0, 5.4, -9.45], - "to": [16, 5.45, -5.45], + "from": [0, 5.43125, -9.45], + "to": [16, 5.48125, -5.45], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 180, "texture": "#1"}, @@ -94,8 +94,8 @@ }, { "name": "tie3", - "from": [0, 1.05, -9], - "to": [16, 5.45, -5.9], + "from": [0, 1.08125, -9], + "to": [16, 5.48125, -5.9], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [0, 6, 8, 8], "texture": "#1"}, @@ -106,8 +106,8 @@ }, { "name": "tie4", - "from": [0, 5.4, 21.45], - "to": [16, 5.45, 25.45], + "from": [0, 5.43125, 21.45], + "to": [16, 5.48125, 25.45], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 180, "texture": "#1"}, @@ -116,8 +116,8 @@ }, { "name": "tie5", - "from": [0, 1.05, 21.9], - "to": [16, 5.45, 25], + "from": [0, 1.08125, 21.9], + "to": [16, 5.48125, 25], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [8, 6, 0, 8], "texture": "#1"}, @@ -128,8 +128,8 @@ }, { "name": "tie6", - "from": [0, 1, 21.35], - "to": [16, 1.05, 25.55], + "from": [0, 1.03125, 21.35], + "to": [16, 1.08125, 25.55], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 180, "texture": "#1"}, diff --git a/src/main/resources/assets/create/models/block/track/z_ortho.json b/src/main/resources/assets/create/models/block/track/z_ortho.json index c0f4deed2..3d37b4551 100644 --- a/src/main/resources/assets/create/models/block/track/z_ortho.json +++ b/src/main/resources/assets/create/models/block/track/z_ortho.json @@ -10,8 +10,8 @@ "elements": [ { "name": "cube1", - "from": [8, -2.05, 10], - "to": [29.95, 2.05, 14], + "from": [8, -1.95625, 10], + "to": [29.95, 2.14375, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, @@ -21,8 +21,8 @@ }, { "name": "cube2", - "from": [8, -2.05, 2], - "to": [29.95, 2.05, 6], + "from": [8, -1.95625, 2], + "to": [29.95, 2.14375, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [11, 2, 0, 4], "texture": "#1"}, @@ -32,8 +32,8 @@ }, { "name": "cube3", - "from": [-13.95, -2.05, 10], - "to": [8, 2.05, 14], + "from": [-13.95, -1.95625, 10], + "to": [8, 2.14375, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, @@ -43,8 +43,8 @@ }, { "name": "cube4", - "from": [-13.95, -2.05, 2], - "to": [8, 2.05, 6], + "from": [-13.95, -1.95625, 2], + "to": [8, 2.14375, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [0, 2, 11, 4], "texture": "#1"}, @@ -54,8 +54,8 @@ }, { "name": "cube5", - "from": [-13.95, -2.05, 0], - "to": [8, 2.05, 16], + "from": [-13.95, -1.95625, 0], + "to": [8, 2.14375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "west": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, @@ -64,8 +64,8 @@ }, { "name": "cube6", - "from": [8, -2.05, 0], - "to": [29.95, 2.05, 16], + "from": [8, -1.95625, 0], + "to": [29.95, 2.14375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "east": {"uv": [11, 0.5, 13.05, 8.5], "rotation": 90, "texture": "#2"}, @@ -74,8 +74,8 @@ }, { "name": "tie1", - "from": [21.35, 1, 0], - "to": [25.55, 1.05, 16], + "from": [21.35, 1.09375, 0], + "to": [25.55, 1.14375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 8.5, 8, 10.5], "rotation": 270, "texture": "#1"}, @@ -84,8 +84,8 @@ }, { "name": "tie2", - "from": [21.45, 5.4, 0], - "to": [25.45, 5.45, 16], + "from": [21.45, 5.49375, 0], + "to": [25.45, 5.54375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 11.5, 8, 13.5], "rotation": 270, "texture": "#1"}, @@ -94,8 +94,8 @@ }, { "name": "tie3", - "from": [21.9, 1.05, 0], - "to": [25, 5.45, 16], + "from": [21.9, 1.14375, 0], + "to": [25, 5.54375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [11, 2, 12.5, 4], "texture": "#1"}, @@ -106,8 +106,8 @@ }, { "name": "tie4", - "from": [-9.45, 5.4, 0], - "to": [-5.45, 5.45, 16], + "from": [-9.45, 5.49375, 0], + "to": [-5.45, 5.54375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 13.5, 8, 11.5], "rotation": 270, "texture": "#1"}, @@ -116,8 +116,8 @@ }, { "name": "tie5", - "from": [-9, 1.05, 0], - "to": [-5.9, 5.45, 16], + "from": [-9, 1.14375, 0], + "to": [-5.9, 5.54375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "north": {"uv": [12.5, 2, 11, 4], "texture": "#1"}, @@ -128,8 +128,8 @@ }, { "name": "tie6", - "from": [-9.55, 1, 0], - "to": [-5.35, 1.05, 16], + "from": [-9.55, 1.09375, 0], + "to": [-5.35, 1.14375, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, "faces": { "up": {"uv": [0, 10.5, 8, 8.5], "rotation": 270, "texture": "#1"}, diff --git a/src/main/resources/assets/create/textures/block/girder.png b/src/main/resources/assets/create/textures/block/girder.png index 23997d69d831aa378a13c249182f61d221c54aeb..f557e1dba00f7ee16d95a22073354159b0232eff 100644 GIT binary patch delta 536 zcmZ3&v5aMcWIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$g~fKP~P zWJH9&zrTx%OJiM~y`7VmmY%7JMS5bQx3{mEnMGh=U_wGN5Lj7QNJ&aEGlR@7EG+Tz z@-j6wRZ>z1a%b#S`wgVTN`m}?{{ulih(G}hjF%2P0V?4v@Q5sCV9-+nVa8RD?oI-_ z(A(3+F~q_@H@JISvjWfJh{Q+B%K88O56{1}$S>wt)h@Gdf-wv&Z3~30StMBsGbLQC z4MZ2Kp4}y1nsa`Rx03ACzGW=&54kybK35A&X$i}HU;j?lCPUZk#)R8*9v+{-z9VJd zx|u%>cT~^j*}ig0rCzF4TE-6X!+UL}mBz}c_Q;kU`oylIuw=@yi+z^oZ+@5)E_BUO zq5nwUI+l(@nlGCC3B{?Js2rTeyeP#}gR{B)vc8kR*-!@u{(mmcLbHx2Yadyt zbX|~5-(W(6IFG93<8bb9iQwFpI*kgdyIptl+R(9Wpe^39+Wz=}qN8Vr^|rGQc?p05Hae z6glTZ@;H6YIl7%5Jm1I4n^&=ip@hH|o0v9^b3&c(c6#85>UTRm1VI2sDS|MR`hu;b zV?BgGyyzS2<9|tE3W;DyII1#cs{@@%xlp5Dl_wo5x{meb6cnECM-tYQ;5L9r5>i5B z%;GA75`yJY35V4xu6|$Rs&j4B%VsjD*DppgW>Z3Nd~!0TeuOy6vX~p68hv$Y$Yr9*V^R0Kj$A0DxBO5`O?tt2JQ%y6g`G?c?fS|DB!9 z!EtP(emb3ohu;-Nl4#Fegr~qIq!v*GL%Tt1hJgaGL0L92Dy4?)tgKtYjoEOa|PX@JrPnd*dCGif7Q zTv(8_3*$m&i;cwntdGSz#e-p0-e@#p%kcL07M|x}Zf*|wLcv^y>ZStfSar;#GoR1H zO{JtdO4SBwg zrlx3?1ju(i2)e^{;J^z>|~I(QIZ zzfwUqlaX!t%hzvkpFfj2HUPA)Zblkc7raQ%7@HKM6iZ8skxKMMty%U}OCq7^TK%WBpx}YR0f%sXQ>E zvB5bXa!9muy~L#hA3uGL^>EZ&goPkLz1BqQ>P9}}n3W;Oj_7FAaPR9k;A*)XVMV}w z{tT<-a^!>OZFvPdyL<98&fLgjAWBfBFn=}pq7sMDFQVgO&Et4 z=@|ggvVH&IL*g-q&|wJ*<6xSj|FRtez|QVo?4~=rd$J7GPWVq9Q0rWW>kQ9L`+rcy zqmD9Z-*_|w;=h~;;-ln$;SXA74f-W($yERV01|XXSad~LNk%$Pa%p95bYXO9Zxe0+ UF@#v`?*IS*07*qoM6N<$f;__U8~^|S diff --git a/src/main/resources/assets/create/textures/block/girder_pole_side.png b/src/main/resources/assets/create/textures/block/girder_pole_side.png new file mode 100644 index 0000000000000000000000000000000000000000..3bbb556ba2a74826109978a508ccf2257d87d918 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|+77Z(?QfB(pci1frndpoDbx;j%63ne9WpnRX5p9hfQED7=p{tpEV z!TuFOAi)BU$YKTtZeb8+WSBKa0w@^j>Ealo5!~7z$ag@2!#UdZ$v^eD&XaAoH+^*6 zP`RZepmFW@W2WiG6RK`&CU88|Xj%TCb;8MQpT3-ss9WkG(AXWJZQehB%5-nnE8eLa g|Ca4qS>xs+Gn0Yk-(#7C44?%Jp00i_>zopr0M*-5Gynhq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/block/girder_pole_side_connected.png b/src/main/resources/assets/create/textures/block/girder_pole_side_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..233ec3cde96d7b794b4a154def1b21aba8ff97f2 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil21AIbUU0huJ{rw{&BGMBR?d_Zz>*`ERER>Ygf%1KJejY%Ivn0qb_&*dd z1p8MAfdmUYB8wRqxP?KOkzv*x383I&PZ!4!3;(y1yoC-c@HiJL@O`&0)Cq|(ou9e< z?lo>U&W{IFmb!~ZXT|263FK`PU1!VF{k6?y zJ>;9-l677$q~48#Iak%ulwHa*U@oJr(^s2EzT(HHi}*Grx9?e!vFwq@-&w1UZ>a44 z#9KV&mFJKD{3aK|ghGlJOl-NZzkK46=tJHQnhN$Ep8o#AZ$6E~!U>ljZ3Be|gQu&X J%Q~loCICAxa?t<) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/block/standard_track_crossing.png b/src/main/resources/assets/create/textures/block/standard_track_crossing.png new file mode 100644 index 0000000000000000000000000000000000000000..07aa3e8a72b3cfa25045b6bd4f08d03c711c378a GIT binary patch literal 1279 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1e8fcK~z{r#g|QQ zTSXLxPiUOj3BI=Dv`*AEZiN()u7Umpw(t`WTf~+>#TK#14p>kj*nrZaEKr~t*xq$$0U$LLSy{+xa;G9 zez{z*!RWPbkj)Cg1MZ$q*B;huDPdxbMk^)DO&0(E5F8w|yuZC&bDijW_WNN7Loi^o zw&nv&0MDPF+VXNPb^p)?uU`3BskmyL-g%ID2j28PzqI7*Tc>UBZ*ElmN$3bAn+3rD zc22SY+&CPL+!J^2uKU=F7bj^L2u(2nGab1{SUv|!v`BP`ei`K z0qq=+`B=~5Uhg811IR=;PtF|X#^kIA(oY!CF9ZXKGn23m89aIN%=Y#gX*j0Y4IqVF z-jQeKjnVqWT+Vgkekw}(K`?+MBcp4z#AU@-(9U;uw)_bJyW<&yJ_g6*qv6nXQb|-4 zvT*GrjLSzZ)^2HWI3SA2Vwp8@h;Th10VRWA03{?KliBf(B^TaF4e8AY_$M3rwuSX{bSgaq+gaFHwt<$aubB~?15(Uk zB85+%HoOmbuVfUEREvpU-w& z^1*=EGGu+>9zEI$wTv>6V3Z6aEO-X!y{drqgdi@xH{6r}>= zdauSjJfih@0B{V?BN)I1;^oV~(!~Xr`L>hsQm!4xL;$il8S$3NQtJUaIfh9@WFZ*9 z?PYoSR;sA)G8YS!qKt+Nks1&&9-(0XeVPoHG3ewJBoUE?U_hgB8eFf#h{drN03r0w$f+nu0mhR3C#{}sq(3HcY=Z~V+5U5~Hu)vX$lm^6K>y!D p5GS9{nYdn<8gN4hA-EZs{S5%9k8!}5y|DlQ002ovPDHLkV1k-PT?haG literal 0 HcmV?d00001