Skip to main content

Minecraft Map Reader/Writer

Project description

Simple Python 3 editor for Minecraft maps (the item) in NBT format. Allows editing the map image with the Python Image Library or by editing bytes in the color native format.

Usage:

import minecraftmap
filepath = "/Users/spookymushroom/AppData/Roaming/.minecraft/saves/Test World/data/map_0.dat"

# The False eco value indicates that __init__ should run genimage to update im (the PIL image)
m = minecraftmap.Map(filepath,eco=False)

# The '8' byte in Minecraft's color format is equivalent to (174, 164, 115)
print(m.allcolors[8])

# The allcolorsinversemap dictionary will return the byte value of a color
# when any native Minecraft map color is passed into it
print(m.allcolorsinversemap[(174, 164, 115)])

if m.getbyte(6747) != 8:
   m.setbyte(6747,8)

# Equivalent to getbyte(6747) for a 128x128 map
if m.getpoint((91,52)) != 8:
   m.setpoint((91,52),8)

# Updates Map.im (PIL) to match Map.file (NBT)
m.genimage()

# PIL methods, m.font defaults to Andrew Tyler's Minecraftia
m.draw.rectangle((0,0,30,30),fill=(56,58,89))
m.draw.text((40,40),"testing",font=m.font)

# Save Map.im (The PIL.Image object) to a file
m.saveimagepng("map_0.png") #front-end for m.im.save
m.saveimagejpg("map_0.jpg") #front-end for m.im.save

# PIL.Image.save method
m.im.save("map_0_customqual.jpg","JPEG",quality=80)

# Updates Map.file (NBT data) to match Map.im (PIL image)
# Versions before 0.2 require that the image contains only native colors
m.imagetonbt()

# Saves Map.file to an NBT file
# If filename argument is left blank, it saves data to
# the original file as identified by m.file.filename
print(m.file.filename)
m.savenbt()
Requires:

Thomas Woolford’s NBT library

Requires:

Python Image Library (Pillow)

Includes:

Andrew Tyler’s Minecraftia font

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minecraftmap-0.3.zip (20.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page