Restore TileTicks accessor and renderer

This commit is contained in:
David Vierra 2015-03-30 11:39:22 -10:00
parent ba53617acf
commit ae7a9e1b84
2 changed files with 18 additions and 0 deletions

View File

@ -214,6 +214,9 @@ class AnvilChunkData(object):
self.Entities = self.rootTag["Level"]["Entities"]
self.TileEntities = self.rootTag["Level"]["TileEntities"]
self.TileTicks = self.rootTag["Level"].get("TileTicks")
if self.TileTicks is None:
self.TileTicks = nbt.TAG_List()
# self.Entities = [PCEntityRef(tag) for tag in self.rootTag["Level"]["Entities"]]
# del self.rootTag["Level"]["Entities"]
@ -268,6 +271,11 @@ class AnvilChunkData(object):
tag["Level"]["Sections"] = sections
if len(self.TileTicks):
tag["Level"]["TileTicks"] = self.TileTicks
elif "TileTicks" in tag["Level"]:
del tag["Level"]["TileTicks"]
log.debug(u"Saved chunk {0}".format(self))
return tag

View File

@ -52,6 +52,7 @@ class WorldEditorChunk(object):
self.Entities = [editor.adapter.EntityRef(tag, self) for tag in chunkData.Entities]
self.TileEntities = [editor.adapter.TileEntityRef(tag, self) for tag in chunkData.TileEntities]
def buildNBTTag(self):
return self.chunkData.buildNBTTag()
@ -134,6 +135,15 @@ class WorldEditorChunk(object):
ref.chunk = None
ref.rootTag = None
@property
def TileTicks(self):
"""
Directly accesses the TAG_List of TAG_Compounds. Not protected by Refs like Entities and TileEntities are.
:return:
:rtype:
"""
return self.chunkData.TileTicks
class WorldEditor(object):
def __init__(self, filename=None, create=False, readonly=False, adapterClass=None, adapter=None, resume=None):