Skip to content

Commit 2add7bb

Browse files
committed
exit with code 0 rather than MinecraftClient::stop as that initiates other hooks and writeBytes over Files.copy to bypass usage blocking
1 parent ce55409 commit 2add7bb

File tree

4 files changed

+14
-24
lines changed

4 files changed

+14
-24
lines changed

src/main/kotlin/com/lambda/loader/BaseMavenVersionController.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -300,17 +300,17 @@ abstract class BaseMavenVersionController(
300300

301301
if (stableVersion == null && snapshotVersion == null) {
302302
val versionMsg = getVersionToMatch()?.let { "for version $it" } ?: ""
303-
logger.severe("═══════════════════════════════════════════════════════════")
304-
logger.severe("FATAL ERROR: No ${artifactName} version found!")
303+
logger.severe("============================================================")
304+
logger.severe("FATAL ERROR: No $artifactName version found!")
305305
if (versionMsg.isNotEmpty()) {
306306
logger.severe("Target version: $versionMsg")
307307
}
308308
logger.severe("Neither STABLE nor SNAPSHOT versions are available.")
309309
logger.severe("Please check:")
310310
logger.severe(" 1. Your internet connection")
311311
logger.severe(" 2. Maven repository availability at: $mavenUrl")
312-
logger.severe(" 3. If ${artifactName} supports the required version")
313-
logger.severe("═══════════════════════════════════════════════════════════")
312+
logger.severe(" 3. If $artifactName supports the required version")
313+
logger.severe("============================================================")
314314
} else {
315315
logger.severe("Failed to ensure latest version is cached")
316316
}

src/main/kotlin/com/lambda/loader/LambdaLoaderInitializer.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import net.minecraft.client.MinecraftClient
88
import org.spongepowered.asm.mixin.Mixins
99
import java.util.logging.ConsoleHandler
1010
import java.util.logging.Logger
11+
import kotlin.system.exitProcess
1112

1213
class LoaderInitializer : PreLaunchEntrypoint {
1314
val logger: Logger = Logger.getLogger("Lambda-Loader").also {
@@ -29,21 +30,21 @@ class LoaderInitializer : PreLaunchEntrypoint {
2930
val updateInfo = updater.checkForUpdate()
3031

3132
if (updateInfo.available) {
32-
logger.info("═══════════════════════════════════════════════════════════")
33+
logger.info("============================================================")
3334
logger.info("Lambda-Loader update available!")
3435
logger.info("Current version: ${updateInfo.currentVersion ?: "unknown"}")
3536
logger.info("Latest version: ${updateInfo.latestVersion}")
36-
logger.info("═══════════════════════════════════════════════════════════")
37+
logger.info("============================================================")
3738

3839
val applied = updater.applyUpdate(updateInfo)
3940

4041
if (applied) {
41-
logger.info("═══════════════════════════════════════════════════════════")
42+
logger.info("============================================================")
4243
logger.info("Lambda-Loader has been updated successfully!")
4344
logger.info("Please restart Minecraft to use the new version.")
44-
logger.info("═══════════════════════════════════════════════════════════")
45+
logger.info("============================================================")
4546

46-
MinecraftClient.getInstance().stop()
47+
exitProcess(0)
4748
} else {
4849
logger.warning("Failed to apply loader update, continuing with current version")
4950
updater.restoreFromBackup()

src/main/kotlin/com/lambda/loader/LoaderUpdater.kt

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import java.io.IOException
66
import java.nio.file.Files
77
import java.nio.file.StandardCopyOption
88
import java.util.logging.Logger
9-
import kotlin.system.exitProcess
109

1110
/**
1211
* Handles automatic updates for the Lambda-Loader itself.
@@ -108,7 +107,7 @@ class LoaderUpdater(
108107
}
109108

110109
return try {
111-
logger.info("═══════════════════════════════════════════════════════════")
110+
logger.info("============================================================")
112111
logger.info("Applying loader update: ${updateInfo.currentVersion} -> ${updateInfo.latestVersion}")
113112
logger.info("Current JAR: ${currentJar.absolutePath}")
114113
logger.info("Update JAR: ${updateInfo.updateFile.absolutePath}")
@@ -124,16 +123,12 @@ class LoaderUpdater(
124123

125124
if (ConfigManager.config.debug) logger.info("Replacing loader JAR...")
126125

127-
Files.copy(
128-
updateInfo.updateFile.toPath(),
129-
currentJar.toPath(),
130-
StandardCopyOption.REPLACE_EXISTING
131-
)
126+
currentJar.writeBytes(updateInfo.updateFile.readBytes())
132127

133128
backupFile.delete()
134129

135130
logger.info("Loader update applied successfully!")
136-
logger.info("═══════════════════════════════════════════════════════════")
131+
logger.info("============================================================")
137132

138133
true
139134
} catch (e: IOException) {
@@ -159,12 +154,7 @@ class LoaderUpdater(
159154
return try {
160155
logger.info("Restoring loader from backup: ${backupFile.absolutePath}")
161156

162-
Files.copy(
163-
backupFile.toPath(),
164-
currentJar.toPath(),
165-
StandardCopyOption.REPLACE_EXISTING
166-
)
167-
157+
currentJar.writeBytes(backupFile.readBytes())
168158
backupFile.delete()
169159

170160
logger.info("Loader restored from backup successfully!")

src/main/kotlin/com/lambda/loader/config/ConfigManager.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import com.google.gson.JsonObject
66
import java.io.File
77

88
object ConfigManager {
9-
109
private val configFile: File = File("lambda/config", "modules.json")
1110
private val gson: Gson = GsonBuilder().setPrettyPrinting().create()
1211

0 commit comments

Comments
 (0)