From a9dff5c6d98a2f365fb57e68f13f65793853ba4a Mon Sep 17 00:00:00 2001 From: David Vierra Date: Mon, 8 Aug 2016 17:18:44 -1000 Subject: [PATCH] Fix wrong default ref class created for TileEntities --- src/mceditlib/anvil/entities.py | 2 +- src/mceditlib/nbtattr.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mceditlib/anvil/entities.py b/src/mceditlib/anvil/entities.py index 54acbd4..090986b 100644 --- a/src/mceditlib/anvil/entities.py +++ b/src/mceditlib/anvil/entities.py @@ -431,7 +431,7 @@ class _PCTileEntityRef(object): def __call__(self, rootTag, chunk=None): id = rootTag["id"].value - cls = _tileEntityClasses.get(id, PCEntityRefBase) + cls = _tileEntityClasses.get(id, PCTileEntityRefBase) return cls(rootTag, chunk) PCTileEntityRef = _PCTileEntityRef() diff --git a/src/mceditlib/nbtattr.py b/src/mceditlib/nbtattr.py index 5f7dd32..305e00f 100644 --- a/src/mceditlib/nbtattr.py +++ b/src/mceditlib/nbtattr.py @@ -304,7 +304,10 @@ class NBTVectorAttr(NBTListAttr): return self val = super(NBTVectorAttr, self).__get__(instance, owner) - return Vector(*val) + try: + return Vector(*val) + except TypeError: + raise TypeError("NBT list too short for Vector: %s" % list(val)) class KeyedVectorAttr(object):