fix: itemsOverlay crashing if not present

This commit is contained in:
Linnea Gräf
2025-06-23 01:49:54 +02:00
parent 4515ce8367
commit 644d4a6cbc

View File

@@ -4,6 +4,7 @@ import io.github.moulberry.repo.IReloadable
import io.github.moulberry.repo.NEURepository import io.github.moulberry.repo.NEURepository
import java.nio.file.Path import java.nio.file.Path
import kotlin.io.path.extension import kotlin.io.path.extension
import kotlin.io.path.isDirectory
import kotlin.io.path.listDirectoryEntries import kotlin.io.path.listDirectoryEntries
import kotlin.io.path.nameWithoutExtension import kotlin.io.path.nameWithoutExtension
import moe.nea.firmament.util.SkyblockId import moe.nea.firmament.util.SkyblockId
@@ -19,8 +20,9 @@ class ModernOverlaysData : IReloadable {
override fun reload(repo: NEURepository) { override fun reload(repo: NEURepository) {
val items = mutableMapOf<SkyblockId, MutableList<OverlayFile>>() val items = mutableMapOf<SkyblockId, MutableList<OverlayFile>>()
repo.baseFolder.resolve("itemsOverlay") repo.baseFolder.resolve("itemsOverlay")
.listDirectoryEntries() .takeIf { it.isDirectory() }
.forEach { versionFolder -> ?.listDirectoryEntries()
?.forEach { versionFolder ->
val version = versionFolder.fileName.toString().toIntOrNull() ?: return@forEach val version = versionFolder.fileName.toString().toIntOrNull() ?: return@forEach
versionFolder.listDirectoryEntries() versionFolder.listDirectoryEntries()
.forEach { item -> .forEach { item ->