Skip navigation

so, december last year i posted a script to render minecraft maps but it was way to big for what it did, too many variables, static as fuck etc. so i rewrote it.

all this needs is a way to detect what kind of world it’s rendering because nether and the_end need other settings, but for now this works fine

#!/bin/bash
# VARS

# the minecraft folder
input=/home/mcsrv/Minecraft/
# the folder for the resulting images
output=/home/mcsrv/Public/mcimg/
# the path to the mcmap executable (not the folder!)
mcmap=/home/mcsrv/Exec/mcmap/mcmap

# -------

# the actual script

if [ ! -d ${output}tmb ] ; then
	mkdir ${output}tmb
	echo created thumbnail folder ${output}tmb
fi
for F in `find $input -mindepth 1 -maxdepth 1 -type d`
do
	if [ -f $F/level.dat ] ; then
		mapname=${F:${#input}}
		echo rendering $mapname
		$mcmap -skylight -file ${output}$mapname.png $F > /dev/null
		echo creating thumbnail for $mapname
		convert -scale 150 -depth 5 ${output}$mapname.png ${output}tmb/$mapname.png 2> /dev/null
		echo rendering $mapname in night mode
		$mcmap -skylight -night -file ${output}${mapname}-night.png $F > /dev/null
		echo creating thumnail for $mapname in nightmode
		convert -scale 150 -depth 5 ${output}${mapname}-night.png ${output}tmb/${mapname}-night.png 2> /dev/null
		worldlist=$worldlist", "$mapname
	fi
done
echo "say rendered the following worlds: $worldlist"
echo say
echo say go to mc.munsking.com/pics to view the images
# -------

all the echos are for McMyAdmin, the ones that start with “say” will echo to the minecraft server itself, the others just go to the logs/console so i can check progress, you can remove those lines if you dont use MCMA :)

2 Comments

  1. Munsie! how has your week been? tty friday night , I hope! see ya round like a doughnut!

    • we’re on right now :D just talk over facebook, we’re playing games so im not in the chat :)