Skip to content

tool generate

laurel Lin edited this page Aug 22, 2026 · 2 revisions

Tool: Generate Create Tracks

Entry: Tools → Generate Create Tracks (Action create_track_gen.generate) Source: src/ui/dialog.ts

What it does

Collects the left rail / right rail / tie parts plus the track gauge, track height, whole-model Y offset and a new workspace name, then generates Create's 11 track shapes + the curve-rendering base groups tie / segment_left / segment_right into a new standalone workspace, importing and applying the three parts' textures. Layout: two columns — left = parts + portal textures, right = parameter form.

Left column: track parts

Element Purpose
Import File… Imports a .bbmodel from disk as this part. Use a Create track part model (rail along Z, tie across X)
Select a Tab… Extracts the elements selected in one of the open tabs as this part
Mirror from First Model (right rail only) Derives the right rail by mirroring the left rail about its central YZ plane; shares the left rail's texture
Status line ✓ Selected: N elements · contains mesh · texture 64×64px, or Not selected

All three parts must share the same texture resolution, otherwise "OK" is rejected. Any part with mesh groups → the new workspace is a free model; otherwise a Java block/item model.

Left column: portal textures

Each texture is independently optional, with its own import button and status line.

Element Purpose
Import portal_track… Imports portal_track.png, covering the track/ties of the teleport shapes (default: the parts' own textures)
Import portal_track_mip… Imports portal_track_mip.png, generating the two overlay cubes teleport_left / teleport_right for the teleport shapes (default: none)

Right column: parameter form

Field Default Purpose
Track gauge (px / mm / in) 25.6 Center distance between the rails (Create default 1600mm ≈ 25.6px). The three fields are linked: type a value and press Enter to back-fill the other two
Track height (px) 2 Height from the tie bottom to the rail bottom; ties are not lifted
Whole-model Y offset (px) 0 Y offset of the whole model (ties + track)
New workspace name track Name of the new workspace the result goes into (also the default track id when exporting; the track parent group is named after it)

Bottom buttons

Button Purpose
OK Validates and generates. Missing part / gauge ≤ 0 / height < 0 / empty name / mismatched texture resolutions pop an error and keep the dialog open
Cancel Abandons the generation

Result

The 11 shapes are generated under the track parent group, then a Track Gauge Result box shows the gauge (px/mm/inch), Y offset, Create curve scale constant, fit formula and anchors.

Shapes: x_ortho / diag / diag_2 / ascending_south / teleport / cross_ortho / cross_diag / cross_d1_xo / cross_d2_xo / cross_d1_zo / cross_d2_zo (z_ortho, ascending_n/e/w, teleport_x are expressed via blockstate y rotations; all four crossing models are generated).

Notes

  • After choosing "Mirror from First Model", the right rail's file is cleared and the status shows "✓ Mirrored from the Left Rail along its central YZ plane".
  • Rails should be clearly narrower than the gauge (Create's official segment is ~2.4px wide), otherwise they overlap.
  • A free-model workspace generated from mesh-containing parts can only be exported as OBJ (see Export Track Models).

← Home · 中文版

Clone this wiki locally