Skip to content
Browse files

Fixed: TileEntity.copyWithOffset adjusts mob position data for mob sp…

…awner blocks
  • Loading branch information...
1 parent a840df7 commit 6ed8c45e4b2db4b1482f875f815fc3d49c3f91e5 @codewarrior0 codewarrior0 committed Jan 9, 2013
Showing with 16 additions and 0 deletions.
  1. +16 −0 entity.py
View
16 entity.py
@@ -96,6 +96,22 @@ def copyWithOffset(cls, tileEntity, copyOffset):
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

0 comments on commit 6ed8c45

Please sign in to comment.
Something went wrong with that request. Please try again.