Fix error while trying to undo player spawn move
This commit is contained in:
parent
17320f4aff
commit
e382fae8b7
@ -75,7 +75,12 @@ def positionValid(level, pos):
|
|||||||
return okayAt63(level, pos) and okayAboveSpawn(level, pos)
|
return okayAt63(level, pos) and okayAboveSpawn(level, pos)
|
||||||
|
|
||||||
|
|
||||||
class PlayerSpawnMoveOperation(PlayerMoveOperation):
|
class PlayerSpawnMoveOperation(Operation):
|
||||||
|
undoPos = None
|
||||||
|
|
||||||
|
def __init__(self, tool, pos):
|
||||||
|
self.tool, self.pos = tool, pos
|
||||||
|
|
||||||
def perform(self, recordUndo=True):
|
def perform(self, recordUndo=True):
|
||||||
level = self.tool.editor.level
|
level = self.tool.editor.level
|
||||||
if isinstance(level, MCInfdevOldLevel):
|
if isinstance(level, MCInfdevOldLevel):
|
||||||
@ -85,9 +90,14 @@ class PlayerSpawnMoveOperation(PlayerMoveOperation):
|
|||||||
|
|
||||||
self.undoPos = level.playerSpawnPosition()
|
self.undoPos = level.playerSpawnPosition()
|
||||||
level.setPlayerSpawnPosition(self.pos)
|
level.setPlayerSpawnPosition(self.pos)
|
||||||
|
|
||||||
self.tool.markerList.invalidate()
|
self.tool.markerList.invalidate()
|
||||||
|
|
||||||
|
def undo(self):
|
||||||
|
if self.undoPos is not None:
|
||||||
|
level = self.tool.editor.level
|
||||||
|
level.setPlayerSpawnPosition(self.undoPos)
|
||||||
|
self.tool.markerList.invalidate()
|
||||||
|
|
||||||
|
|
||||||
class PlayerPositionPanel(Panel):
|
class PlayerPositionPanel(Panel):
|
||||||
def __init__(self, tool):
|
def __init__(self, tool):
|
||||||
|
Reference in New Issue
Block a user