Add a configuration made using the config4k library
This commit is contained in:
parent
8651c34ed7
commit
dac1294ee3
|
@ -40,6 +40,7 @@ subprojects {
|
|||
keep("class fr.username404.snowygui.fabric.** { * ; }")
|
||||
keep("class fr.username404.snowygui.forge.** { * ; }")
|
||||
keepclassmembers("class fr.username404.snowygui.** { public protected <methods>; }")
|
||||
// TODO Fix kotlin
|
||||
keepattributes(); keepdirectories(); keeppackagenames(); keepparameternames()
|
||||
obfuscationdictionary("$dictionariesDir/dictionary.txt")
|
||||
classobfuscationdictionary("$dictionariesDir/classdictionary.txt")
|
||||
|
@ -65,6 +66,7 @@ subprojects {
|
|||
exclude(module = "kotlin-stdlib-common")
|
||||
exclude(module = "annotations")
|
||||
}
|
||||
"io.github.config4k:config4k:0.4.2".also { implementation(it); shadowC(it) }
|
||||
"minecraft"("com.mojang:minecraft:${rootProject.property("minecraft")}")
|
||||
"mappings"(MappingsDep)
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package fr.username404.snowygui.mixins;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import fr.username404.snowygui.config.AddKeyMaps;
|
||||
import fr.username404.snowygui.misc.AddKeyMaps;
|
||||
import net.minecraft.client.KeyMapping;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.Options;
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
package fr.username404.snowygui
|
||||
|
||||
import fr.username404.snowygui.EventSnowy.Companion.useKey
|
||||
import fr.username404.snowygui.config.AddKeyMaps
|
||||
import fr.username404.snowygui.config.Configuration.obtained
|
||||
import fr.username404.snowygui.misc.AddKeyMaps
|
||||
import io.github.config4k.getValue
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import org.apache.logging.log4j.Logger
|
||||
|
||||
abstract class Snowy {
|
||||
private val displayInitMessage: Boolean by obtained
|
||||
companion object {
|
||||
fun onEvent(e: String, lambda: argsLambda) {
|
||||
useKey(e).add(lambda)
|
||||
}
|
||||
fun onEvent(e: String, lambda: argsLambda) = useKey(e).add(lambda)
|
||||
@JvmStatic
|
||||
val logs: Logger = LogManager.getLogger()
|
||||
}
|
||||
|
@ -23,7 +24,7 @@ abstract class Snowy {
|
|||
}
|
||||
}
|
||||
fun atInit() {
|
||||
logs.info("Init point of SnowyGUI hit.")
|
||||
if (displayInitMessage) logs.info("Init point of SnowyGUI hit.")
|
||||
eventsInit()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package fr.username404.snowygui.config
|
||||
|
||||
import com.typesafe.config.Config
|
||||
import com.typesafe.config.ConfigException
|
||||
import com.typesafe.config.ConfigFactory
|
||||
import fr.username404.snowygui.Snowy
|
||||
import net.minecraft.client.Minecraft
|
||||
import java.io.File
|
||||
|
||||
object Configuration {
|
||||
private val file: File = File(Minecraft.getInstance().gameDirectory.absolutePath + File.separator + "snowy.conf")
|
||||
private val base = """
|
||||
|Snowy {
|
||||
| displayInitMessage = true
|
||||
|}
|
||||
""".trimMargin()
|
||||
val obtained: Config = run {
|
||||
var result: Config? = null
|
||||
with(file) {
|
||||
if (!exists()) {
|
||||
createNewFile()
|
||||
setWritable(true)
|
||||
writeText(base)
|
||||
setReadable(true)
|
||||
} else result = try {
|
||||
ConfigFactory.parseFile(file)
|
||||
} catch (e: ConfigException) {
|
||||
Snowy.logs.warn("Could not parse the snowy configuration file, the default configuration will be used instead."); null
|
||||
}
|
||||
}
|
||||
if (result == null) result = ConfigFactory.parseString(base)
|
||||
ConfigFactory.load(result).getConfig("Snowy")
|
||||
}
|
||||
}
|
|
@ -1,7 +1,8 @@
|
|||
package fr.username404.snowygui.config
|
||||
package fr.username404.snowygui.misc
|
||||
|
||||
import com.mojang.blaze3d.platform.InputConstants
|
||||
import fr.username404.snowygui.ClickGui
|
||||
import fr.username404.snowygui.config.SnowyConfigScreen
|
||||
import net.minecraft.client.KeyMapping
|
||||
import net.minecraft.client.Minecraft
|
||||
import org.lwjgl.glfw.GLFW.GLFW_KEY_U
|
Loading…
Reference in New Issue