Litematica Printer 4th is a client-side Fabric extension for Litematica. It continuously discovers unfinished schematic positions and processes them through a bounded, multithreaded producer-consumer scheduler. Printing, filling, fluid removal, and bedrock breaking are independent modes.

Requirements
Install these client-side dependencies for the same Minecraft version:
The tested baselines are MaLiLib 0.28.8 with Litematica 0.27.9 on Minecraft 26.1.2, and MaLiLib 0.29.2 with Litematica 0.28.3 on Minecraft 26.2. Compatible newer Litematica releases may also work within the declared Minecraft range.
Optional integrations
The base placement, filling, and fluid-removal features do not require the integrations below.
| Integration | What it enables |
|---|---|
| ChainVeinFabric | Break wrong or extra blocks and perform ice-to-water jobs. A client installation is enough for basic breaking; server-only ChainVein features require server support. |
| Quick Shulker | Retrieve required materials from carried shulker boxes. The direct screen-independent protocol is used when supported; the legacy screen path remains isolated for compatible older releases. Use matching Quick Shulker client and server versions. |
| AxShulkers or TakeItOut | Alternative server-backed shulker material sources selectable in the printer settings. |
| Servux | Litematica Easy Place protocol support and optional server-authoritative held-item confirmation. |
| Fabric-Bedrock-Miner or Block-Miner | Executes jobs produced by the bedrock-breaking mode. |
All integrations are capability-detected. Features that depend on a missing integration stay disabled or are skipped; normal printing remains available.
What changed in the fourth revision
Continuous producer-consumer scheduling
- A producer continuously scans immutable world and schematic snapshots instead of alternating between a full search and a print pass.
- Search work is divided into small tasks and processed by a configurable worker pool without reading the live world from worker threads.
- A bounded job pool groups placement, state-adjustment, use, and breaking jobs by transaction kind.
- The consumer traverses job buckets fairly and batches compatible jobs, reducing item switching and preventing one skipped position from blocking unrelated work.
- Processed, failed, skipped, stale, and unavailable-material jobs are all consumed. If a position still needs work, a later producer scan discovers it again.
- Consumer actions validate the live world before execution, so an old snapshot cannot force an obsolete action.
Lower scanning overhead
- Work-range shapes and schematic/selection workspaces are compiled into reusable spatial masks.
- GUI statistics and printer discovery reuse compatible search plans and shared snapshot pages.
- Search cursors read packed page data directly and create
BlockPosobjects only for positions that become jobs. - The HUD publishes completed statistics rather than displaying a producer's partial in-flight pass.
In a fresh Minecraft 26.2 A/B benchmark using the same 531,441-position fixture, four search threads, two warm-up rounds, and seven measured rounds, median complete GUI + printer scan time fell from 457.45 ms in 1.0.0 to 45.59 ms in 1.1.0—about 10.0x faster on the development system. See the 1.1.0 release notes for methodology, correctness checks, and caveats.
Predictable item and action handling
- Every inventory or hotbar item change waits for its configured confirmation path before printing continues.
- Remote shulker retrieval has explicit waiting states instead of allowing the consumer to race ahead of material arrival.
- Same-kind jobs can be processed in one tick up to the configured placement or breaking limits.
- Disabling the global work switch pauses work without clearing producer or consumer state.
- Cycling modes changes the selected mode but never turns on the global work switch automatically.
Features
Work modes
- Print: place missing blocks, adjust supported block states, and optionally break wrong or extra blocks.
- Fill: fill the active Litematica selection using configurable block and direction filters.
- Fluid removal: remove configured still or flowing fluids inside the selected work area.
- Bedrock breaking: discover bedrock jobs and submit them to a supported bedrock-mining mod.
The legacy general-purpose mining mode and the built-in remote warehouse were removed.
Special print actions
Existing block-operation behavior remains available, including:
- place a log and then strip it when stripped logs are required;
- place ice and break it to produce water;
- direct water placement and waterlogged-block handling;
- directional and state-sensitive placement for observers, pistons, stairs, doors, trapdoors, signs, heads, banners, redstone components, and other supported blocks;
- note-block tuning, safe observer placement, coral replacement, crop bonemealing, and composter filling;
- configurable skip and replace lists;
- normal interaction placement and the alternate packet placement path.
Feedback and controls
- Stable completion progress and missing-material HUD.
- Current consumer activity, wait reason, job position, and job-pool length.
- Producer scan progress for the current round.
- Configurable placement highlights for place, adjust, break, and failed actions.
- Work-range shape, traversal order, axis direction, search-thread count, and per-tick action limits.
- Litematica visible-layer filtering is respected by both discovery and execution.
Getting started
- Install the correct printer jar and required dependencies.
- Load and place a schematic with Litematica.
- Press
Z, thenYby default to open the printer settings. - Enable the Print module, or another work mode you want to use.
- Move within interaction range of the target blocks.
- Press
Caps Lockto enable the global Work Switch.
Both the global Work Switch and a specific work-mode switch must be enabled. The default work range of 0 automatically uses the available interaction distance.
Important settings
- Blocks per tick / work interval: controls throughput. Servers with rate limits or anti-cheat may require lower values or a longer interval.
- Place in air: allows placement without an existing adjacent support block where the server accepts it.
- Packet placement: uses the alternate packet-sending placement path. It does not override server validation or network loss.
- Servux held-item confirmation: waits for the server-authoritative main-hand item after a switch. If enabled without a compatible Servux server, the printer intentionally pauses and reports that wait state.
- Break wrong/extra blocks: requires ChainVeinFabric. Without it, destructive print jobs are not enabled.
- Quick Shulker source: select Quick Shulker, AxShulkers, or TakeItOut to match the environment actually installed.
Troubleshooting
The printer is not doing anything
Check that:
- the jar matches the exact Minecraft version;
- Fabric API, MaLiLib, and Litematica are loaded;
- a schematic is placed and its relevant layer is visible;
- both the chosen mode and the global Work Switch are enabled;
- the player is within the configured work range;
- the required item is available and the HUD is not reporting a hand or shulker wait;
- server anti-cheat or placement limits are not rejecting the configured speed.
Breaking jobs never run
Wrong-block, extra-block, and ice-breaking jobs require ChainVeinFabric. Bedrock jobs additionally require one of the supported bedrock-mining mods.
The HUD says it is waiting for Servux
Server-authoritative held-item confirmation was enabled, but the current server did not expose a compatible Servux channel. Install/configure Servux on the server or disable that confirmation option.
Quick Shulker retrieval is waiting or unavailable
Confirm that the selected shulker source matches the installed integration. For the direct Quick Shulker protocol, keep the client and server on the same compatible release. The HUD wait state identifies whether the printer is waiting for a container operation or an item switch.
For reproducible bugs, open an issue in this repository and attach both client and server logs, Minecraft/mod versions, relevant settings, and a minimal schematic when possible.
License
This project is distributed under the GNU Affero General Public License v3.0.
How to Install Litematica Printer 4th (Mod)
Litematica Printer 4th by water2004 is verified for Fabric across Minecraft versions 26.1, 26.1.1, 26.1.2, 26.2, 26.3 (latest release: 1.1.3-hotfix.1+26.3, file size: 798 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (26.1, 26.1.1, 26.1.2, 26.2, 26.3) and platform (Fabric).
- Make sure you have the compatible loader or environment installed for Fabric.
- Move the downloaded Litematica Printer 4th file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version- Fixed ice-to-water printing above solid ground by following vanilla ice-breaking support conditions. Unsupported air below the target still prevents ice placement for water generation.
- Fixed stale water-wait state blocking later ice-to-water jobs at the same position. Ice breaking now follows the regular producer-consumer cycle and respects the configured coordinate cooldown.
- Preserve both upward and downward source-water bubble columns when printing ordinary water sources, instead of replacing them with ice.
- Corrected the HUD waiting message so ordinary item switching is no longer described as Servux hand confirmation.
- Gave filling and fluid removal their own area-selection scope options: the whole selection, below the player, or above the player. Existing settings remain compatible, and the global visible-layer restriction still applies.
- Separated scan height filtering from GUI selection types while preserving live configuration changes and existing scan-range behavior.
- Fixed a full-inventory stall when QuickShulker's Direct API exhausts its material-return retries. A finished network request no longer causes the printer to forget material that still needs to be returned. Once connectivity recovers, the printer can free an inventory slot, retrieve the next material, and continue placing blocks without manual intervention.
- Partial returns retain the remaining work. Lost response packets after a successful server transfer are handled using the current synchronized inventory rather than blindly repeating the old operation.
- Return candidates are checked in a bounded rotation, so an unavailable original box does not prevent another eligible material from being returned.
- Includes the 26.1.2/26.2 Servux hand-confirmation gate fix previously distributed separately: enabling printer hand confirmation also enables the required handler-level entity-data requests, without changing Litematica's saved setting. This does not add cross-version Servux protocol compatibility.
QuickShulker's public API, Legacy integration, and dependency requirements are unchanged. This is not a general fix for every packet-loss or ghost-block scenario.
- Fix:** With the printer's Servux hand-confirmation option enabled and Litematica's own entity-data sync disabled, newer Litematica builds could suppress the metadata/entity requests needed to confirm the server-held item. Printing would then wait indefinitely. The printer now opens Litematica's handler-level request gate while that option is enabled, without changing Litematica's saved setting or duplicating its v1/v2 protocol handling. Printing actions and other modes are unchanged.
- Added a dedicated Minecraft 26.3 build, using version-specific dependencies and the same printer behavior as the existing 26.1.2 and 26.2 builds.
- Added support for the original Fabric-Bedrock-Miner 2.x (
bedrock-miner) through itsBreakingFlowControllerclient API. It is a different mod from bunnyi116's Bedrock Miner (bedrockminer), which was already supported. - Preserved the existing bunnyi116 Bedrock Miner and BlockMiner (
blockminer) adapters. When an installed miner's API cannot be resolved, the printer now reports an incompatible integration instead of incorrectly saying no miner is installed; adapter failures are logged. - Corrected the supported-mod names and links in the English and Chinese READMEs and updated the in-game messages.
- Added end-to-end client GameTests using released miner jars. They verify that the integrated server actually sees the target bedrock become air: all three miners on 26.1.2 and 26.2, and the original Fabric-Bedrock-Miner plus BlockMiner on 26.3. bunnyi116 has not published a 26.3 jar.
This stable release consolidates every change made since 1.0.0 for Minecraft 26.1.2 and 26.2. It focuses on faster continuous discovery, predictable producer-consumer behavior, server-aware item switching, maintainable optional integrations, and substantially broader automated coverage.
## Highlights since 1.0.0
### Faster continuous scanning
- GUI statistics and printer discovery now share compatible search plans and immutable snapshot data instead of independently reading overlapping world and schematic regions.
- Work-range shapes and schematic or selection bounds are compiled into reusable masks, so worker tasks begin inside the active search space rather than filtering a surrounding cube coordinate by coordinate.
- Snapshot pages are compact, shared, streamed, and released after their final dependent task.
- Search cursors use packed coordinates and create
BlockPosobjects only for positions that become jobs. - Common immutable placement metadata is reused instead of being allocated for every candidate action.
- Completed HUD progress is published separately from the producer's in-flight progress, so the displayed completion percentage remains stable while the player and world are unchanged.
### Item switching and optional integrations
- Inventory and hotbar changes now wait for their configured confirmation path before printing resumes.
- Added optional Servux-backed server-authoritative main-hand confirmation, with a visible wait state when confirmation is unavailable or pending.
- Reworked Quick Shulker support behind isolated direct and legacy bridges. Quick Shulker 4.0 uses the screen-independent protocol; compatible 3.x releases retain the legacy screen path.
- Remote shulker work now exposes explicit waiting and lifecycle states instead of racing material delivery.
- ChainVeinFabric remains the optional executor for wrong-block, extra-block, and ice-to-water breaking jobs. Printing continues normally when it is absent, while destructive jobs remain disabled.
- Bedrock jobs are capability-detected for the supported Fabric-Bedrock-Miner and Block-Miner integrations.
### Scheduling and feedback
- The continuous producer remains independent from a waiting or rate-limited consumer.
- Compatible jobs remain grouped for same-kind batch execution, while bucket traversal prevents one skipped or unavailable job from starving unrelated work.
- Stale producer results are revalidated against the live world immediately before consumption.
- The HUD reports current work, search, hand, shulker, container, world-update, and lag waits together with the current job and pool length.
- Cycling modes never enables the global work switch, and pausing the work switch preserves producer and consumer state.
- Producer discovery and consumer validation use the same Litematica visible-layer rules.
## Performance compared with 1.0.0
A fresh A/B run was performed on the same development system with Minecraft 26.2, the sam
...