本文整理汇总了Python中wrapper.Wrapper.run方法的典型用法代码示例。如果您正苦于以下问题:Python Wrapper.run方法的具体用法?Python Wrapper.run怎么用?Python Wrapper.run使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wrapper.Wrapper
的用法示例。
在下文中一共展示了Wrapper.run方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import run [as 别名]
def __init__(self, center=None, jar=None, output='{seed}.png', radius=1000, resolution=2, seed=None, verbosity=1):
self.verbosity = verbosity
# Resolve paths before we change directory
output = os.path.abspath(output)
if jar:
jar = os.path.abspath(jar)
#Make a temporary directory and switch to it
self.log(1, 'creating temporary directory')
with tempdir(prefix='cedar-tmp-') as tmp:
os.chdir(tmp)
#Copy in the server jar, or download it
if jar:
self.log(1, 'copying jar')
source = open(jar, 'rb')
else:
self.log(1, 'downloading jar')
source = self.download_server()
dest = open('minecraft_server.jar', 'wb')
dest.write(source.read())
source.close()
dest.close()
#Write server.properties
self.log(1, 'writing server.properties')
with open('server.properties', 'w') as props:
props.write('level-seed={seed}\nlisten-port=65349\n'.format(seed=seed if seed else ''))
#Do a first-run of the server
self.log(1, 'initialising world')
wrapper = Wrapper(self.log)
wrapper.run()
#Grab spawn point and seed, if they haven't been specified
world = World(self.log)
if not center:
center = world.spawn
if not seed:
seed = world.seed
center = tuple((c//16)*16 for c in center)
output = output.format(seed=seed)
#Open output image
img = open(output, 'wb')
#Generate the world!
path = list(Spiral.spiral(radius, center))
for i, spawn in enumerate(path):
self.log(1, "generating world ({0} of {1})".format(i+1, len(path)))
world.set_spawn(spawn)
wrapper.run()
#Generate the carto!
colours = BlockColours()
size = 2 * radius // resolution
writer = Writer(size, size)
pixels = [0] * (size * size * 3)
for b_x, b_z, b_data, b_meta, b_height, b_biome in world.carto(radius, center, resolution):
try:
colour = colours.get_colour(b_data, b_meta)
except KeyError:
self.log(1, "unknown block at {0}, {1}! id: {2} meta: {3}".format(b_x, b_z, b_data, b_meta))
continue
b_x = (b_x + radius - center[0]) // resolution
b_z = (b_z + radius - center[1]) // resolution
for i, c in enumerate(colour):
pixels[i + 3 * (b_x + size*b_z)] = c
writer.write_array(img, pixels)
img.close()
self.log(1, "saved as {0}".format(output))