Simplify mask construction to prevent unnecessary temporaries

This commit is contained in:
Caleb Deveraux 2010-10-04 14:26:16 +08:00 committed by David Vierra
parent d4a318c719
commit c09a58a725

View File

@ -111,6 +111,8 @@ Copyright 2010 David Rio Vierra
"""
import nbt
import operator
import functools
from nbt import *
import gzip
import StringIO
@ -462,10 +464,7 @@ class MCLevel(object):
blocks = self.Blocks[slices[0],slices[2],slices[1]]
if blocksToReplace != None:
masks = map(lambda x:blocks==x, blocksToReplace);
mask = masks.pop();
while len(masks):
mask |= masks.pop();
mask = functools.reduce((blocks==x for x in blocksToReplace), operator.or_)
blocks[mask] = blockType;
if hasattr(self, "Data"):