Minecraftmap
Simple Python 3 editor for Minecraft Maps (the item) in NBT format.
Install / Use
/learn @spookymushroom/MinecraftmapREADME
===================== Minecraft Maps Editor
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
