package moe.nea.firmament.util import java.io.InputStream import kotlin.io.path.inputStream import kotlin.jvm.optionals.getOrNull import net.minecraft.resources.ResourceLocation import moe.nea.firmament.repo.RepoDownloadManager fun ResourceLocation.openFirmamentResource(): InputStream { val resource = MC.resourceManager.getResource(this).getOrNull() if (resource == null) { if (namespace == "neurepo") return RepoDownloadManager.repoSavedLocation.resolve(path).inputStream() error("Could not read resource $this") } return resource.open() }