blob: 10f2f6fd7babba6eeea42109cf910cf321c6c60c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
package cc.woverflow.chatting.updater
import cc.woverflow.chatting.Chatting
import gg.essential.api.EssentialAPI
import gg.essential.api.gui.buildConfirmationModal
import gg.essential.api.utils.Multithreading
import gg.essential.elementa.ElementaVersion
import gg.essential.elementa.WindowScreen
import gg.essential.elementa.dsl.childOf
import java.io.File
class DownloadGui : WindowScreen(ElementaVersion.V1, true, true, true, -1) {
override fun initScreen(width: Int, height: Int) {
super.initScreen(width, height)
EssentialAPI.getEssentialComponentFactory().buildConfirmationModal {
this.text = "Are you sure you want to update?"
this.secondaryText =
"(This will update from v${Chatting.VER} to ${Updater.latestTag})"
this.onConfirm = {
restorePreviousScreen()
Multithreading.runAsync {
if (Updater.download(
Updater.updateUrl,
File(
"mods/${Chatting.NAME}-${
Updater.latestTag!!.substringAfter("v")
}.jar"
)
) && Updater.download(
"https://github.com/Wyvest/Deleter/releases/download/v1.2/Deleter-1.2.jar",
File(Chatting.modDir.parentFile, "Deleter-1.2.jar")
)
) {
EssentialAPI.getNotifications()
.push(
Chatting.NAME,
"The ingame updater has successfully installed the newest version."
)
Updater.addShutdownHook()
Updater.shouldUpdate = false
} else {
EssentialAPI.getNotifications().push(
Chatting.NAME,
"The ingame updater has NOT installed the newest version as something went wrong."
)
}
}
}
this.onDeny = {
restorePreviousScreen()
}
} childOf this.window
}
}
|