forked from overviewer/Minecraft-Overviewer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sample.settings.py
172 lines (135 loc) · 5.94 KB
/
sample.settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
################################################################################
# Please see the README or https://github.com/brownan/Minecraft-Overviewer/wiki/DTT-Upgrade-Guide
# for more details.
# This file is not meant to be used directly, but instead it is supposed to
# provide examples of interesting things you can do with the settings file. Most
# of the time, a simple 'setting_name = value' will work.
# This file is a python script, so you can import any python module you wish or
# use any built-in python function, though this is not normally necessary
# Lines that start with a hash mark are comments
# Some variables come with defaults (like procs or rendermode)
# If you specify a configuration option in both a settings.py file and on the
# command line, the value from the command line will take precedence
################################################################################
### procs
## Specify the number of processors to use for rendering
## Default: The number of CPU cores on your machine
## Type: integer
## Example: set the number of processors to use to be 1 less than the number of
## CPU cpus in your machine
import multiprocessing
procs = multiprocessing.cpu_count() - 1
if procs < 1: procs = 1
################################################################################
### zoom
## Sets the zoom level manually instead of calculating it. This can be useful
## if you have outlier chunks that make your world too big. This value will
## make the highest zoom level contain (2**ZOOM)^2 tiles
## ***Normally you should not need to set this variable.***
## ***Setting it too low will crop your map!***
## Seriously, check the README before using this.
## Default: Automatically calculated from your world
## Type: integer
## Example:
zoom = 9
################################################################################
### regionlist
## A file containing, on each line, a path to a chunkfile to update. Instead
## of scanning the world directory for chunks, it will just use this list.
## Normal caching rules still apply.
## Default: not yet
## Type: string
## Example: Dynamically create regionlist of only regions older than 2 days
import os, time
# the following two lines are needed to the lambda to work
globals()['os'] = os
globals()['time'] = time
regionDir = os.path.join(args[0], "region")
regionFiles = filter(lambda x: x.endswith(".mcr"), os.listdir(regionDir))
def olderThanTwoDays(f):
return time.time() - os.stat(os.path.join(args[0], 'region',f)).st_mtime > (60*60*24*2)
oldRegionFiles = filter(olderThanTwoDays, regionFiles)
with open("regionlist.txt", "w") as f:
f.write("\n".join(oldRegionFiles))
################################################################################
### rendermode
## Specifies the render types
## Default: "normal"
## Type: Either a list of strings, or a single string containing modes separated
## by commas
## Example: Render the using the 'lighting' mode, but if today is Sunday, then
## also render the 'night' mode
import time
rendermode=["lighting"]
if time.localtime().tm_wday == 6:
rendermode.append("night")
################################################################################
### imgformat
## The image output format to use. Currently supported: png(default), jpg.
## NOTE: png will always be used as the intermediate image format.
## Default: not yet
## Type: string
## Example:
imgformat = "jpg"
################################################################################
### optimizeimg
## If using png, perform image file size optimizations on the output. Specify 1
## for pngcrush, 2 for pngcrush+advdef, 3 for pngcrush+advdef with more agressive
## options. Option 1 gives around 19% of reduction, option 2 gives around 21%
## (it doubles the optimizing time) and option 3 gives around 23% (it doubles,
## again, the optimizing time). Using this option may double (or more)
## render times. NOTE: requires corresponding programs in $PATH or %PATH%
## Default: not set
## Type: integer
## Example:
if imgformat != "jpg":
optimizeimg = 2
################################################################################
### web_assets_hook
## If provided, run this function after the web assets have been copied, but
## before actual tile rendering beings. It should accept a QuadtreeGen
## object as its only argument. Note: this is only called if skipjs is True
## Default: not yet
## Type: function
## Example: Call an external program to generate something useful
def web_assets_hook(o):
import subprocess
p = subprocess.Popen(["/path/to/my/script.pl", "--output_dir", args[1]])
p.wait()
if p.returncode != 0:
raise Exception("web_assets_hook failed")
################################################################################
### quiet
## Print less output. You can specify higher values to suppress additional output
## Default: 0
## Type: integer
## Example:
quiet = 1
################################################################################
### verbose
## Print more output. You can specify higher values to print additional output
## Default: 0
## Type: integer
## Example:
verbose = 1
################################################################################
### skipjs
## Don't output marker.js or region.js
## Default: False
## Type: boolean
## Example: Set skipjs if web_assets_hook is defined
if "web_assets_hook" in locals():
skipjs = True
################################################################################
### north_direction
## Make north point somewhere else!
## Valid options are 'lower-left', 'upper-left', 'upper-right', 'upper-left'
## default: lower-left
## Type: string
## Example:
north_direction = "upper-right"
### As a reminder, *don't use this file verbatim*, it should only be used as
### a guide. Be sure to read what each option does before you set it.
### See the README for more details.
import sys
sys.exit("This sample-settings file shouldn't be used directly!")