SkillAgentSearch skills...

Litemapy

Litemapy's goal is to provide an easy to use way to read and edit Litematica's schematic file format

Install / Use

/learn @SmylerMC/Litemapy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <h1>Litemapy</h1> Litemapy's goal is to provide an easy to use way to read and edit Litematica's schematic file format in python. <a href="https://github.com/maruohon/litematica">Litematica</a> is Minecraft mod by maruohon.

PyPI - Python Version PyPI PyPI - Downloads Commits since latest release Documentation Status

</div>

Installation

Litemapy is available on pypi:

pip install litemapy

Features:

  • Read and write .litematic files
  • Full support for litematics' regions concept
  • Full block storage support
  • Full support for basic metadata handling (author, name, description, block count and total volume)
  • Partial support for entities
  • Partial support for tile entities
  • Partial support for pending block updates
  • Partial support for preview images

Documentation

Documentation is available on ReadTheDocs: litemapy.rtfd.io.

Example

Here is a basic example of creating a schematic, and of reading one:

from litemapy import Schematic, Region, BlockState

# Shortcut to create a schematic with a single region
reg = Region(0, 0, 0, 21, 21, 21)
schem = reg.as_schematic(name="Planet", author="SmylerMC", description="Made with litemapy")

# Create the block state we are going to use
block = BlockState("minecraft:light_blue_concrete")

# Build the planet
for x, y, z in reg.block_positions():
    if round(((x-10)**2 + (y-10)**2 + (z-10)**2)**.5) <= 10:
        reg[x, y, z] = block

# Save the schematic
schem.save("planet.litematic")

# Load the schematic and get its first region
schem = Schematic.load("planet.litematic")
reg = list(schem.regions.values())[0]

# Print out the basic shape
for x in reg.xrange():
    for z in reg.zrange():
        b = reg[x, 10, z]
        if b.id == "minecraft:air":
            print(" ", end="")
        else:
            print("#", end='')
    print()

When ran, we get the expected output:

       #######       
     ###########     
    #############    
   ###############   
  #################  
 ################### 
 ################### 
#####################
#####################
#####################
#####################
#####################
#####################
#####################
 ################### 
 ################### 
  #################  
   ###############   
    #############    
     ###########     
       #######

Related Skills

View on GitHub
GitHub Stars83
CategoryDevelopment
Updated1mo ago
Forks9

Languages

Python

Security Score

95/100

Audited on Feb 25, 2026

No findings