Fix the mod on neoforge 1.21.5 by notably using the mod loader configuration directories
Signed-off-by: Username404-59 <w.iron.zombie@gmail.com>
This commit is contained in:
parent
0db5d80cf1
commit
bb90bad1d1
@ -1,4 +1,4 @@
|
||||
architectury { common("fabric", "forge"); injectInjectables = false }
|
||||
architectury { common("fabric", "forge"); injectInjectables = true }
|
||||
dependencies {
|
||||
modImplementation("net.fabricmc:fabric-loader:${rootProject.property("fabric_loader_version")}")
|
||||
modImplementation("me.shedaniel.cloth:cloth-config:${rootProject.property("clothconfig_version")}") {
|
||||
|
@ -8,34 +8,30 @@ import com.typesafe.config.ConfigFactory.parseFile
|
||||
import com.typesafe.config.ConfigFactory.parseString
|
||||
import com.typesafe.config.ConfigRenderOptions
|
||||
import com.typesafe.config.ConfigValueFactory
|
||||
import dev.architectury.injectables.targets.ArchitecturyTarget
|
||||
import fr.username404.snowygui.ClickGui
|
||||
import fr.username404.snowygui.Snowy
|
||||
import fr.username404.snowygui.Snowy.Companion.MissingComponent
|
||||
import fr.username404.snowygui.gui.feature.shouldSave
|
||||
import fr.username404.snowygui.gui.feature.Category
|
||||
import fr.username404.snowygui.gui.feature.Macro
|
||||
import fr.username404.snowygui.gui.feature.shouldSave
|
||||
import io.github.config4k.extract
|
||||
import io.github.config4k.getValue
|
||||
import net.minecraft.client.Minecraft
|
||||
|
||||
import java.io.File
|
||||
|
||||
import kotlin.reflect.KProperty
|
||||
import kotlinx.coroutines.CoroutineStart
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.decodeFromString
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import net.minecraft.network.chat.MutableComponent
|
||||
import net.minecraft.network.chat.contents.TranslatableContents
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.io.File
|
||||
import java.nio.file.Path
|
||||
import kotlin.io.path.absolutePathString
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.reflect.KProperty
|
||||
import kotlin.reflect.full.isSuperclassOf
|
||||
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
object Configuration {
|
||||
@Deprecated("Use the getValue or setValue methods instead", level = DeprecationLevel.ERROR)
|
||||
@JvmStatic
|
||||
@ -54,7 +50,19 @@ object Configuration {
|
||||
}.toTypedArray()),
|
||||
)
|
||||
}
|
||||
private val configDirectory: String = (Minecraft.getInstance().gameDirectory.absolutePath + File.separator + "config").also { File(it).mkdir() }
|
||||
private val configDirectory: String =
|
||||
(if (ArchitecturyTarget.getCurrentTarget() == "fabric") {
|
||||
Class.forName("net.fabricmc.loader.api.FabricLoader").run {
|
||||
getMethod("getConfigDir").invoke(getMethod("getInstance").invoke(null))
|
||||
}
|
||||
} else {
|
||||
Class.forName("net.neoforged.fml.loading.FMLPaths")
|
||||
.getField("CONFIGDIR")
|
||||
.get(null)
|
||||
.let { enum ->
|
||||
enum.javaClass.getMethod("get").invoke(enum)
|
||||
}
|
||||
} as Path).absolutePathString()
|
||||
private val file: File = File(configDirectory + File.separator + "snowy.conf")
|
||||
private val obtained: Config = run {
|
||||
var result: Config = empty()
|
||||
|
@ -9,12 +9,13 @@ import net.arikia.dev.drpc.DiscordRPC as discord_rpc
|
||||
@ButtonInfo(Category.MISC)
|
||||
object DiscordRPC: ButtonImpl() {
|
||||
private val RPCHandlers: DiscordEventHandlers = DiscordEventHandlers.Builder().build()
|
||||
private val RichPresence: DiscordRichPresence.Builder = DiscordRichPresence
|
||||
private val RichPresence: Lazy<DiscordRichPresence.Builder> = lazy { DiscordRichPresence
|
||||
.Builder("Playing Minecraft ${Minecraft.getInstance().launchedVersion}")
|
||||
.setDetails("Launched with ${Minecraft.getInstance().versionType}")
|
||||
.setBigImage("icon", "SnowyGUI")
|
||||
}
|
||||
override fun execAction() {
|
||||
if (toggled) discord_rpc.discordUpdatePresence(RichPresence.build())
|
||||
if (toggled) discord_rpc.discordUpdatePresence(RichPresence.value.build())
|
||||
else discord_rpc.discordClearPresence()
|
||||
}
|
||||
init {
|
||||
|
Loading…
Reference in New Issue
Block a user