SchemPrint — Instant Print
Author: mornfrost Platform: NeoForge 1.21.1 / Java 21
Print Litematica schematics (.litematic), Create blueprints (.nbt), and vanilla structure NBT directly into the current save or server. While writing, per-block updates are suppressed; lighting and client sync are refreshed per chunk, achieving near "instant printing."
Core Features
- Unified parsing for three formats: litematic / Create blueprint / structure NBT — all format differences are encapsulated in the parsing layer.
- Streaming placement: No pre-reading of block lists; resident memory is independent of build volume, supporting 30 million to 3 billion blocks.
- Paged projection: For large files, BlockStates are mapped to disk; 3 billion blocks require only about 3 GB of disk instead of 120 GB of RAM.
- Preview: Only a region near the player is sent, rendered with real block models, with a bounding box and frame budget — no client lag.
- UI: F9 or
/schemprint ui— select schematic, rotate, XYZ offset, preview, place, undo. - Anchor selection: Look-at selection / coordinate selection; no longer forced to anchor at the player's center.
- Undo: Old blocks are recorded to a disk log during writing;
/schemprint undorolls back the entire area (default cap: 100 million blocks). - Printing in unloaded chunks: Per-chunk temporary tickets plus disk persistence guarantee — areas with no viewers, not loaded, or even not yet generated can still be printed.
- Version compatibility: Direct parsing → mapping table → conspicuous placeholder blocks; never silently leaves holes.
- Modded blocks:
setPlacedBy/ neighbor updates are only applied to non-minecraftblocks; vanilla builds incur zero overhead. - Fallback mode: When the target server does not have this mod installed, blocks can be sent to specified players as client-side-only updates.
Common Commands
/schemprint load <file> [format]— Load a schematic (place it inconfig/schemprint/schematics/)/schemprint anchor— Look-at anchor selection;anchor <x> <y> <z>/anchor clear/schemprint preview <name> [angle]— Preview/schemprint place <name> [angle]— Place at the anchor;place <name> <x> <y> <z>to specify coordinates/schemprint status— Progress and remaining time/schemprint inspect— Post-placement self-check: compare the world against the schematic/schemprint undo [confirm|discard]— Roll back the most recent print/schemprint cancel— Cancel the task (saves to disk first)
Expected Scale
By default, 200,000 blocks are written per tick, with a single-tick cap of 8 ms: 30 million blocks in about 10 seconds, 300 million in about 1.5 minutes, 3 billion in about 15 minutes (world generation not included).

