Fix crash in auto reload when using outside a devenv

This commit is contained in:
nea
2023-06-01 15:23:32 +02:00
parent 635dbebbf4
commit c969074af3

View File

@@ -22,11 +22,10 @@ object DeveloperFeatures : FirmamentFeature {
override val defaultEnabled: Boolean override val defaultEnabled: Boolean
get() = false get() = false
val gradleDir by lazy { val gradleDir =
Path.of(".").absolute() Path.of(".").absolute()
.iterate { it.parent } .iterate { it.parent }
.find { it.resolve("settings.gradle.kts").exists() }!! .find { it.resolve("settings.gradle.kts").exists() }
}
object TConfig : ManagedConfig("developer") { object TConfig : ManagedConfig("developer") {
val autoRebuildResources by toggle("auto-rebuild") { false } val autoRebuildResources by toggle("auto-rebuild") { false }
@@ -34,7 +33,7 @@ object DeveloperFeatures : FirmamentFeature {
@JvmStatic @JvmStatic
fun hookOnBeforeResourceReload(client: MinecraftClient): CompletableFuture<Void> { fun hookOnBeforeResourceReload(client: MinecraftClient): CompletableFuture<Void> {
val reloadFuture = if (TConfig.autoRebuildResources && isEnabled) { val reloadFuture = if (TConfig.autoRebuildResources && isEnabled && gradleDir != null) {
val builder = ProcessBuilder("./gradlew", ":processResources") val builder = ProcessBuilder("./gradlew", ":processResources")
builder.directory(gradleDir.toFile()) builder.directory(gradleDir.toFile())
builder.inheritIO() builder.inheritIO()