diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt b/core/src/ru/deadsoftware/cavedroid/game/GameItemsHolder.kt
index 23fe4fbe4104977b0f47e1b1523417e7fae2cfc2..7a7ccabb3651cc27b61996a67da991d9ee3f50db 100644 (file)
}
dtoMap.forEach { (key, dto) ->
- itemsMap[key] = itemMapper.map(key, dto, blocksMap[key])
+ try {
+ itemsMap[key] = itemMapper.map(
+ key = key,
+ dto = dto,
+ block = blocksMap[key],
+ slabTopBlock = blocksMap[dto.topSlabBlock] as? Block.Slab,
+ slabBottomBlock = blocksMap[dto.bottomSlabBlock] as? Block.Slab
+ )
+ } catch (e: Exception) {
+ Gdx.app.error(TAG, "Failed to map item $key. Reason: ${e.message}")
+ e.printStackTrace()
+ }
}
fallbackItem = itemsMap[FALLBACK_ITEM_KEY]
return itemsMap.values
}
- fun getItemFromCreativeInventory(position: Int): Item? {
+ fun getItemFromCreativeInventory(position: Int): Item {
return if (position in itemsMap.values.indices) {
itemsMap.values.elementAt(position)
} else {
- null
+ fallbackItem
}
}