Fixed: TileEntity.copyWithOffset adjusts mob position data for mob spawner blocks

This commit is contained in:
David Vierra 2013-01-09 01:18:37 -10:00
parent a840df700a
commit 6ed8c45e4b

View File

@ -96,6 +96,22 @@ class TileEntity(object):
eTag['x'] = nbt.TAG_Int(tileEntity['x'].value + copyOffset[0])
eTag['y'] = nbt.TAG_Int(tileEntity['y'].value + copyOffset[1])
eTag['z'] = nbt.TAG_Int(tileEntity['z'].value + copyOffset[2])
if eTag['id'].value == 'MobSpawner':
mobs = []
mob = eTag.get('SpawnData')
if mob:
mobs.append(mob)
potentials = eTag.get('SpawnPotentials')
if potentials:
mobs.extend(potentials)
for mob in mobs:
if "Pos" in mob:
pos = Entity.pos(mob)
pos = [p + o for p, o in zip(pos, copyOffset)]
Entity.setpos(mob, pos)
if eTag['id'].value == "Control":
command = eTag['Command'].value