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.

Filename, size & hash SHA256 hash help File type Python version Upload date
minecraftmap-0.3.zip (20.1 kB) Copy SHA256 hash SHA256 Source None Dec 15, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page