Here you can compile a schematics definition written in Schemacode, a schema definition language, into a text representation to be pasted into Mindustry using the Import schematics... button. If your schematics contain processors, you can specify code for the processor using either Mindustry Logic or Mindcode. You can also decompile an existing schematics using the Decompiler and modify the resulting code.

Here are some examples to give you an idea how to use Schemacode:

696 lines of code

Bug reports, suggestions and questions are welcome at the project page.

  • Compiling embedded code
  • 361 instructions before optimizations.
  • 39 instructions eliminated by Temp Variables Elimination.
  • 1 instructions eliminated by Case Expression Optimization.
  • 36 instructions eliminated by Dead Code Elimination (6 iterations).
  • 3 instructions eliminated by Jump Normalization (2 passes, 5 iterations).
  • 17 instructions eliminated by Jump Optimization (5 iterations).
  • 14 instructions eliminated by Single Step Elimination (2 passes, 7 iterations).
  • 2 instructions eliminated by Expression Optimization (2 passes, 3 iterations).
  • 46 instructions eliminated by Data Flow Optimization (5 passes, 20 iterations).
  • 1 loops improved by Loop Hoisting.
  • 3 instructions eliminated by Loop Optimization (3 iterations).
  • 5 loops improved by Loop Optimization.
  • 742 instructions added by Loop Unrolling (8 iterations).
  • 4 loops unrolled by Loop Unrolling.
  • 9 instructions added by Function Inlining (8 iterations).
  • 2 function calls inlined by Function Inlining.
  • 68 instructions eliminated by Jump Straightening (2 passes, 5 iterations).
  • 5 instructions updated by JumpThreading.
  • 5 instructions eliminated by Unreachable Code Elimination (2 iterations).
  • 6 instructions eliminated by Print Merging.
  • 872 instructions after optimizations.
  • Performance: parsed in 45 ms, compiled in 6 ms, optimized in 1,338 ms.
  • Compiling embedded code
  • 1004 instructions before optimizations.
  • 137 instructions eliminated by Temp Variables Elimination.
  • 88 instructions eliminated by Dead Code Elimination (8 iterations).
  • 7 instructions eliminated by Jump Normalization (2 passes, 5 iterations).
  • 29 instructions eliminated by Jump Optimization (5 iterations).
  • 45 instructions eliminated by Single Step Elimination (2 passes, 7 iterations).
  • 75 instructions modified by Expression Optimization (3 iterations).
  • 1256 instructions eliminated by Data Flow Optimization (5 passes, 25 iterations).
  • 3 instructions eliminated by Loop Optimization (3 iterations).
  • 5 loops improved by Loop Optimization.
  • 1355 instructions added by Loop Unrolling (6 iterations).
  • 3 loops unrolled by Loop Unrolling.
  • 8 instructions updated by JumpThreading.
  • 22 instructions eliminated by Unreachable Code Elimination (2 iterations).
  • 43 instructions eliminated by Print Merging.
  • 729 instructions after optimizations.
  • Performance: parsed in 548 ms, compiled in 25 ms, optimized in 1,237 ms.
  • Created schematic 'Mandelbrot Generator' with dimensions (20, 16).