Skip to content

Instantly share code, notes, and snippets.

@JohnPeel
Forked from tdack/overviewer_config.py
Last active August 18, 2018 20:17
Show Gist options
  • Save JohnPeel/0c58b4e0e820d3e3850c to your computer and use it in GitHub Desktop.
Save JohnPeel/0c58b4e0e820d3e3850c to your computer and use it in GitHub Desktop.
Minecraft Overviewer Config File
import os
from observer import JSObserver
from utils import renderGen
server = os.environ['SERVER']
inputdir = '/opt/minecraft/%s' % server
outputdir = '/opt/minecraft/public_html/%s' % server
observer = JSObserver(outputdir, 2)
rendermode = 'smooth_lighting'
worlds[server] = os.path.join(inputdir, 'world')
renders[server] = renderGen(server, 'Daytime')
renders['%s Night' % server] = renderGen(server, 'Nighttime', 'smooth_night')
renders['%s Caves' % server] = renderGen(server, 'Caves', 'cave', 'overworld', ['%s Night' % server])
subregions = os.walk(worlds[server]).next()[1]
for subregion in subregions:
subregion_path = os.path.join(worlds[server], subregion)
if ('DIM-1' in subregion) and os.listdir(subregion_path):
renders['%s Nether' % server] = renderGen(server, 'Nether', 'nether_smooth_lighting', 'nether')
if ('DIM1' in subregion) and os.listdir(subregion_path):
renders['%s The End' % server] = renderGen(server, 'The End', 'nether_smooth_lighting', 'end')
def playerFilter(poi):
if poi['id'] == 'Player':
poi['icon'] = "http://overviewer.org/avatar/%s" % poi['EntityId']
return "Last known location for %s" % poi['EntityId']
def signFilter(poi):
if poi['id'] == 'Sign':
return "\n".join([poi['Text1'], poi['Text2'], poi['Text3'], poi['Text4']])
def chestFilter(poi):
if poi['id'] == 'Chest':
return "Chest with %d items" % len(poi['Items'])
default_render = {
'dimension': 'overworld',
'markers': [
{
'name': 'Signs',
'filterFunction': signFilter
},
{
'name': 'Chests',
'filterFunction': chestFilter,
'icon': 'chest.png',
'createInfoWindow': False
},
{
'name': 'Players',
'filterFunction': playerFilter
},
]
}
def renderGen(world, title, rendermode = 'smooth_lighting', dimension = 'overworld', overlay = None):
render = default_render.copy()
render.update({'world': world, 'title': title, 'rendermode': rendermode, 'dimension': dimension})
if overlay:
render.update({'overlay': overlay})
return render
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment