SchemPaste
ModLGPL-3.0-or-later

SchemPaste

A Mod to help you paste your Litematica in server

392
Downloads
1
Followers
5 months ago
Updated
📦
7
Versions

📖About SchemPaste

SchemPaste

English | 简体中文

A Minecraft Fabric mod that helps you paste Litematica schematics on servers.

Dependencies

Fabric Loader
Fabric API
Syncmatica

Optimization for large schematics

  • After testing in RMS Server with Intel i7-14600k CPU, pasting a schematic with 10 million blocks and a volume of 200 million blocks took 9 minutes and 46 seconds (averaging 20,000 blocks per second), with TPS remaining stable and no drops.

Note: This performance data only represents the mod's performance on the RMS Server and is for reference purposes only. It does not indicate the actual performance on your server.

Supported Versions

  • 1.17.1
  • 1.20.1

Tip: If you need more supported versions, please raise an issue on Github or add my QQ (2628883576 (@qq.com, if you need to contact me via email), please indicate the purpose)

Command Details

Main Commands

/sp paste - Paste Command

Basic syntax:

  • /sp paste stop - Stop all active paste tasks
  • /sp paste <index> - Paste schematic by index
  • /sp paste <index> addition <parameters> - Paste schematic with additional parameters

Index Parameter:

  • <index> - Integer, building index starting from 1, corresponding to buildings in placements.json

Additional Parameters:

Replace Behavior Parameters:

  • replace none - Don't replace any existing blocks
  • replace all - Replace all blocks (including air)
  • replace with_non_air - Only place blocks at non-air positions (default behavior)

Layer Control Parameters:

  • axis <x|y|z> - Set layer axis (default y-axis)
  • mode <mode> - Set layer mode:
    • all - Paste all layers (default)
    • single or single_layer - Paste only a single layer
    • all_above - Paste all layers above specified coordinate
    • all_below - Paste all layers below specified coordinate
    • range or layer_range - Paste layers within specified range

Layer Coordinate Parameters:

  • single <coordinate> - Coordinate value for single layer mode
  • above <coordinate> - Starting coordinate for "above" mode
  • below <coordinate> - Ending coordinate for "below" mode
  • rangemin <coordinate> - Minimum coordinate for range mode
  • rangemax <coordinate> - Maximum coordinate for range mode

Usage Examples:

/sp paste 1                                           # Paste building 1
/sp paste 2 addition replace none                     # Paste building 2, don't replace existing blocks
/sp paste 3 addition rate 100                        # Paste building 3, process 100 blocks per tick
/sp paste 4 addition replace all rate 50             # Paste building 4, replace all blocks, 50 blocks per tick
/sp paste 5 addition axis y mode single single 64    # Paste building 5, only paste Y=64 layer
/sp paste 6 addition mode all_above above 100        # Paste building 6, only paste Ye100 parts
/sp paste 7 addition mode range rangemin 60 rangemax 80  # Paste building 7, only paste Y=60-80 range
/sp paste 8 addition axis x mode single single 150 replace none  # Paste building 8, X=150 slice, no replace
/sp paste stop                                        # Stop all paste tasks

/sp list - List Command

  • Display list of all available projections

Permission Requirements

All commands require OP permissions

Configuration Files

Main Configuration File (config/schempaste.json)

Performance Related Configuration:

{
    "backgroundThreads": 2,
    // Number of background processing threads
    "mainThreadBudgetMs": 40,
    // Main thread budget time per tick (milliseconds)
    "enableProgressMessages": true,
    // Enable progress messages
    "progressUpdateIntervalMs": 2000
    // Progress update interval (milliseconds)
}

Default Behavior Configuration:

{
    "defaultReplace": "with_non_air",
    // Default replace behavior
    "suppressNeighborUpdates": true,
    // Suppress neighbor block updates
    "fixChestMirror": true,
    // Fix chest mirror issues
    "clearInventories": false
    // Clear container items
}

Layer Control Configuration:

{
    "defaultLayerAxis": "y",
    // Layer axis (x/y/z)
    "defaultLayerMode": "all",
    // Layer mode
    "defaultLayerSingle": 0,
    // Single layer coordinate
    "defaultLayerRangeMin": 0,
    // Range mode minimum coordinate
    "defaultLayerRangeMax": 0
    // Range mode maximum coordinate
}

Chunk Management Configuration:

{
    "enableDynamicChunkLoading": true,
    // Enable dynamic chunk loading
    "maxLoadedChunks": 32
    // Maximum loaded chunks
}

Installation

  1. Install Fabric Loader
  2. Download the mod jar file
  3. Place the file in the mods folder

TODO

  • Remove dependency on Syncmatica, allow direct loading of .litematica files from client

License

CC0-1.0