Simplify mask construction to prevent unnecessary temporaries
This commit is contained in:
parent
d4a318c719
commit
c09a58a725
@ -111,6 +111,8 @@ Copyright 2010 David Rio Vierra
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import nbt
|
import nbt
|
||||||
|
import operator
|
||||||
|
import functools
|
||||||
from nbt import *
|
from nbt import *
|
||||||
import gzip
|
import gzip
|
||||||
import StringIO
|
import StringIO
|
||||||
@ -462,10 +464,7 @@ class MCLevel(object):
|
|||||||
|
|
||||||
blocks = self.Blocks[slices[0],slices[2],slices[1]]
|
blocks = self.Blocks[slices[0],slices[2],slices[1]]
|
||||||
if blocksToReplace != None:
|
if blocksToReplace != None:
|
||||||
masks = map(lambda x:blocks==x, blocksToReplace);
|
mask = functools.reduce((blocks==x for x in blocksToReplace), operator.or_)
|
||||||
mask = masks.pop();
|
|
||||||
while len(masks):
|
|
||||||
mask |= masks.pop();
|
|
||||||
|
|
||||||
blocks[mask] = blockType;
|
blocks[mask] = blockType;
|
||||||
if hasattr(self, "Data"):
|
if hasattr(self, "Data"):
|
||||||
|
Reference in New Issue
Block a user