Sueta

LitematicaFolia

0.4.3+26.1.2

Server-side Litematica for Paper & Folia: native .litematic paste with full NBT fidelity + Direct Paste from vanilla Litematica clients via the Servux protocol. No /fill spam, no kick, no WorldEdit de

·Plugin
  1. 0.4.3+26.1.2latestAug 29, 2026

    Safety release: the plugin can no longer break a server it is not built for

    Thanks to venson for the report that surfaced this. If an older 0.4.x jar was run on the wrong Minecraft version (for example 1.21.11), it could stop every player from joining. That is fixed two ways: - The plugin now checks the server version at startup. If it is not 26.1.2, it disables itself cleanly with a clear message instead of interfering with connections. - It no longer initializes PacketEvents unless you explicitly enable Easy Place, so by default there is nothing that could conflict with another plugin. Running 26.2 or newer? Use 0.6.x or 0.8.x. Running 1.21.11? Use 0.9.0. This release is for Minecraft 26.1.2.
    411 downloads
  2. 0.8.0+26.2Aug 29, 2026

    Servux Direct Paste placement fidelity

    Big thanks to stavapin for an unusually thorough and precise bug report. This release works through it point by point so that a server-side paste matches exactly what the Litematica client shows. Fixed - Replace modes (None / With non-air / All) are now honored. - Entities no longer land offset, and their fractional coordinates rotate correctly. - Entity orientation now rotates and mirrors together with the schematic. - Per-sub-region overrides (enabled, position, rotation, mirror) are applied. - Paste layer behavior and render layer range are respected. - maxBlocksPerChunkTask actually paces large pastes now instead of being advisory. - /litematica save no longer captures an entity twice when it straddles a chunk border. - Bonus: block states such as stairs rotate and mirror correctly, and structure void is never pasted. Validated with 103 unit tests and a 56-check fidelity suite across 12 scenarios on Folia 26.2. For Minecraft 26.2.
    689 downloads
  3. 0.9.0+1.21.11Aug 29, 2026

    LitematicaFolia now runs on Minecraft 1.21.11

    This is a real 1.21.11 build, not a compatibility shim. It has its own 1.21.11 server internals, a PacketEvents version that actually supports 1.21.11, and it speaks the Servux protocol that the 1.21.11 Litematica client uses. It also carries every placement-fidelity fix from 0.8.0. What works - Full Servux "Direct Paste" from a real Litematica 1.21.11 client. This was tested end to end on a live Folia 1.21.11 server: a genuine client connects, pastes, and the blocks and entities land correctly. - Coexists with a separate PacketEvents plugin. By default the plugin does not touch PacketEvents at all; it only initializes it if you turn on Easy Place. Tested with a standalone PacketEvents installed and Easy Place enabled: clean joins, no conflict. - Correct placement for rotation, mirror, per-sub-region overrides, replace modes, layer ranges, and entity position and orientation. Which version do I use? - Minecraft 1.21.11: this release. - 26.2: 0.8.x. 26.1.2: 0.4.x/0.6.x. On any version it is not built for, the plugin now disables itself cleanly instead of interfering. Thanks to venson for the report that led to proper 1.21.11 support, and to stavapin for the detailed placement report behind the fidelity fixes this build inherits.
    546 downloads
  4. 0.6.1+26.2LitematicaFolia 0.6.1 (MC 26.2)Aug 22, 2026
    Safety release, nothing changes on a supported 26.2 server. - The plugin now checks the server version at startup and disables itself with a clear error on anything that is not Minecraft 26.2. Bukkit does not block a plugin built for a newer version, so the 26.2 jar could end up running on 1.21.x or 26.1.x servers with a mismatched packet pipeline, which could break every player join. - PacketEvents is now only injected when Easy Place is enabled. The Servux bridge runs on plain plugin messages and never needed it. Version guide: 26.2 -> this release, 26.1.x -> 0.4.x, 1.21.x and older -> unsupported.
    236 downloads
  5. 0.6.0+26.2LitematicaFolia 0.6.0 (MC 26.2)Aug 9, 2026
    First release with an external contribution: CoreProtect support, by UPSOKen. Thanks for a clean PR. Optional hook, no-op default, and it survives CoreProtect dying mid-paste without touching the paste itself.

    Added

    - CoreProtect integration. Pasted block changes are now recorded in CoreProtect when it's installed, under the player who started the paste (console/RCON pastes log as #litematica). Replacements are logged WorldEdit-style: removal of the old block, then placement of the new one, so /co i and /co rollback behave exactly as they do after a WorldEdit operation. Unchanged blocks are skipped (re-pasting the same schematic writes zero records). Block states only for now; tile-entity NBT and entities are not logged. - logging.coreprotect config toggle (default true). Measured cost on a 4.19M-block stress paste: 5.4 s without logging, 7.1 s with it, plus one CoreProtect consumer-queue entry per changed block. If you paste city-sized schematics and don't need the audit trail, flip it off.

    Changed

    - Now built against the Paper 26.2 stable dev bundle (build 111). 0.5.1 was built on the build-62 beta bundle.

    Compatibility

    - Requires CoreProtect API v10+ to log (the plugin prints the detected API version at startup). No CoreProtect, a too-old build, or a failing one: clean no-op, pastes are never affected. - Heads-up for 26.2 servers: stock CoreProtect CE 24.0 predates Minecraft 26.2 and disables itself at boot ("Minecraft 26.2 is not supported"). You need a newer dev or patched CoreProtect build to actually get records on 26.2. Until then the integration simply stays dormant. - Tested on Paper 26.2 (build 111) and Folia 26.2: full unit suite, boot/paste/save smokes with and without CoreProtect, replacement semantics verified against the CoreProtect database, attribution checks, and the 4.19M-block + 629k-tile-entity stress paste on both plain and CoreProtect-enabled servers. Zero errors, all rows ingested. On Folia the logging calls run on region threads; no thread-safety issues in any run. For 26.1.x servers, use the 0.4.x releases.
    297 downloads
  6. 0.5.1+26.2LitematicaFolia 0.5.1 (MC 26.2)Jul 18, 2026
    First release for Minecraft 26.2 Paper API 26.2, JDK 25, Folia supported.

    Fixed

    - Direct Paste on Leaves/lineage servers (Lophine, Leaves, …) those 26.2 server cores handle the Servux protocol themselves and consumed the plugin's servux:* channels before the plugin could see them: Litematica clients hung forever on "The placement is being uploaded to Servux for pasting". The plugin now reclaims its channels automatically when the Servux bridge is enabled; on plain Paper/Folia this is a clean no op. - /litematica save now writes origin-normalized regions: re-pasting a schematic you saved lands exactly at the coordinates you give it, instead of inheriting the absolute world position it was saved from.

    Changed

    - Servux wire format re-verified byte-for-byte against upstream Servux 26.2-0.11.1: Direct Paste from vanilla Litematica clients keeps working exactly as on a Fabric+Servux server. - Bundled PacketEvents upgraded to 2.13.0 (26.2 server version strings now parse). - Cleaner protocol logging: one INFO line per inbound packet, hex dumps off by default.

    Compatibility

    Tested on Paper 26.2 (build 62, boot + paste), Folia 26.2 (built from source, upstream has no published 26.2 build yet; boot + full Servux Direct-Paste end-to-end) and Lophine 26.2 (production). For 26.1.x servers, use the 0.4.x releases.
    392 downloads
  7. 0.4.2+26.1.2v0.4.2+26.1.2Jul 2, 2026

    Fixed: PasteOperation semaphore deadlock (Folia region self-deadlock)

    Completes the v0.4.1 fix, which only moved the pass-1 dispatch loop off the region tick thread. Root cause. The pass-2 and deferred-physics-sweep loops were chained with a plain (non-async) thenCompose, which runs on the thread that completed the upstream future, a Folia region tick thread (FoliaCompat.runOnRegion completes it there). Those loops then called the blocking acquireSlot() on that region thread; when the region still had more pending chunk tasks than free CHUNK_THROTTLE permits, it parked in Semaphore.acquire() waiting for permits only it could release → self-deadlock. Regions froze indefinitely (observed ~116h on a production server); the Folia Watchdog logged Tick region ... has not responded without ever crashing. Fix. 1. Both continuation loops now run via thenComposeAsync(..., offRegionExecutor) (Folia async pool / Paper async worker), so every acquireSlot() runs off-region, a blocked dispatch thread can no longer park a region. 2. acquireSlot() now uses tryAcquire(60s): a timeout dispatches the chunk unthrottled and logs a warning instead of blocking forever. The release guard is seeded so an untaken permit is never over-released. No config/schema change vs 0.4.1: in-place drop-in. Normal-load behaviour (32 in-flight chunk-task throttle) unchanged.
    1350 downloads
  8. 0.3.0+26.1.2v0.3.0+26.1.2May 25, 2026

    v0.3.0+26.1.2: Servux Direct Paste end-to-end

    Added
    - Real Litematica 0.27.6 clients can now Direct-Paste their schematics to the server with full block-state, tile-entity, entity and pending-tick fidelity, validated in production with 869,514 blocks + 6,516 TEs in 5.6 s. - Inline LitematicaPaste task handler (the maruohon Litematica payload schema, separate from the upstream Servux multi-frame Transmit protocol; both now handled). - Servux BulkRequest fulfillment with per-player rate limiter. - Easy Place V3 server-side scaffold (PacketEvents 2.7, gated off by default). - Java protocol bot for autonomous validation (test-harness/protocol-bot/). - Local Fabric client harness for visual smoke testing.
    Fixed
    - Brigadier StackOverflowError at command registration (recursive flag dedup via bitmask). - /litematica paste parses off the command thread → no more Folia Watchdog ERRORs on big files. - PackedLongArray switched to compact cross-word packing (the .litematic format). - 7 Servux wire-format discrepancies vs upstream sakura-ryoko/servux 26.1.2-0.10.2. - PacketSplitter cap raised 16 MiB → 128 MiB, configurable. - Proactive S2C_METADATA push 3 s after PlayerJoin so Litematica clients enter Servux mode without user action.
    Production gotchas documented (in README + TUTORIAL)
    - Litematica client config: must set ENTITY_DATA_SYNC = true in Generic config; PASTE_USING_SERVUX = true alone is useless. - Velocity 3.5: set [packet-limiter] decompressed-bytes-per-second = -1 (default 5 MiB/s kicks Direct Paste). - Paper: add -Dpaper.playerconnection.keepalive=120 for clients running DataFixer on old .litematic files.
    Performance
    - 4,194,304 blocks + 629,533 tile entities in 9.5 s (stress fixture). - 870 k blocks + 6.5 k tile entities in 5.6 s (real client Direct Paste). - 62 JUnit tests + 3 smoke harnesses all green.
    321 downloads

Similar projects

Plugin →