Skip to main content
Help us improve Python packaging – donate today!

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

Release history Release notifications

This version
History Node

0.3

History Node

0.2

History Node

0.1.1

History Node

0.1

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 CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page