Make model loading more robust

Fixes #218
This commit is contained in:
David Vierra 2016-03-27 01:03:09 -10:00
parent 52a137df59
commit 9bfd9ed144

View File

@ -407,10 +407,20 @@ cdef class BlockModels(object):
return None
variants = statesJson['variants']
variantDict = variants[resourceVariant]
variantDict = variants.get(resourceVariant)
if variantDict is None:
log.warn("variant %s not found in 'variants' key of states file %s, skipping...", resourceVariant, resourcePath)
return None
if isinstance(variantDict, list):
variantDict = variantDict[0] # do the random pick thing later, if at all
modelName = variantDict['model']
modelName = variantDict.get('model')
if modelName is None:
log.warn("No 'model' key found for variant %s in 'variants' key of states file %s, skipping...", resourceVariant, resourcePath)
return None
try:
modelDict = self._getBlockModel("block/" + modelName)
except ResourceNotFound as e: