@Override
 public EntityRef getOrCreateBlockEntityAt(Vector3i blockPosition) {
   EntityRef blockEntity = getBlockEntityAt(blockPosition);
   if (!blockEntity.exists()) {
     Block block = getBlock(blockPosition.x, blockPosition.y, blockPosition.z);
     blockEntity = entityManager.create(block.getEntityPrefab());
     if (block.isEntityTemporary()) {
       tempBlocks.add(blockEntity);
     }
     blockEntity.addComponent(new LocationComponent(blockPosition.toVector3f()));
     blockEntity.addComponent(new BlockComponent(blockPosition, block.isEntityTemporary()));
     // TODO: Get regen and wait from block config?
     if (block.isDestructible()) {
       blockEntity.addComponent(new HealthComponent(block.getHardness(), 2.0f, 1.0f));
     }
   }
   return blockEntity;
 }