aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-30 15:55:47 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-30 15:55:47 +0200
commit7597b8ccc1f863f38383aadd898adfaccdcb3349 (patch)
treee3c8fe0f885d79c8528e8cbdbeed72540e674830 /src/main/java/at/hannibal2
parenta8d09cf22d3538cfda18aa4e5e30693b643745e9 (diff)
downloadskyhanni-7597b8ccc1f863f38383aadd898adfaccdcb3349.tar.gz
skyhanni-7597b8ccc1f863f38383aadd898adfaccdcb3349.tar.bz2
skyhanni-7597b8ccc1f863f38383aadd898adfaccdcb3349.zip
Removed Discord Rich Presence since jitpack links are broken
Diffstat (limited to 'src/main/java/at/hannibal2')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt370
2 files changed, 186 insertions, 187 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
index 2d0bc3fb7..57b0afa49 100644
--- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
+++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
@@ -46,7 +46,6 @@ import at.hannibal2.skyhanni.features.itemabilities.abilitycooldown.ItemAbilityC
import at.hannibal2.skyhanni.features.minion.MinionCollectLogic
import at.hannibal2.skyhanni.features.minion.MinionFeatures
import at.hannibal2.skyhanni.features.misc.*
-import at.hannibal2.skyhanni.features.misc.discordrpc.DiscordRPCManager
import at.hannibal2.skyhanni.features.misc.tiarelay.TiaRelayHelper
import at.hannibal2.skyhanni.features.misc.tiarelay.TiaRelayWaypoints
import at.hannibal2.skyhanni.features.misc.update.UpdateManager
@@ -256,7 +255,7 @@ class SkyHanniMod {
loadModule(AshfangMinisNametagHider())
loadModule(GardenTeleportPadInventoryNumber())
loadModule(ComposterOverlay())
- loadModule(DiscordRPCManager())
+// loadModule(DiscordRPCManager())
loadModule(GardenCropMilestoneFix())
loadModule(GardenBurrowingSporesNotifier())
loadModule(WildStrawberryDyeNotification())
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt
index 7b4ded2a2..ec52288d0 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt
@@ -1,185 +1,185 @@
-package at.hannibal2.skyhanni.features.misc.discordrpc
-
-// This entire file was taken from SkyblockAddons code, ported to SkyHanni
-
-import at.hannibal2.skyhanni.SkyHanniMod.Companion.consoleLog
-import at.hannibal2.skyhanni.SkyHanniMod.Companion.coroutineScope
-import at.hannibal2.skyhanni.SkyHanniMod.Companion.feature
-import at.hannibal2.skyhanni.events.ConfigLoadEvent
-import at.hannibal2.skyhanni.utils.LorenzUtils
-import com.google.gson.JsonObject
-import com.jagrosh.discordipc.IPCClient
-import com.jagrosh.discordipc.IPCListener
-import com.jagrosh.discordipc.entities.RichPresence
-import io.github.moulberry.moulconfig.observer.Property
-import kotlinx.coroutines.launch
-import net.minecraftforge.event.world.WorldEvent
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
-import net.minecraftforge.fml.common.gameevent.TickEvent
-import net.minecraftforge.fml.common.network.FMLNetworkEvent
-import java.util.*
-import java.util.concurrent.Executors
-import java.util.concurrent.ScheduledExecutorService
-import java.util.concurrent.TimeUnit
-
-class DiscordRPCManager : IPCListener {
- private val applicationID = 653443797182578707L
- private val updatePeriod = 4200L
-
- private val config get() = feature.misc.discordRPC
-
- private var client: IPCClient? = null
- private lateinit var secondLine: DiscordStatus
- private lateinit var firstLine: DiscordStatus
- private var startTimestamp: Long? = null
- private var startOnce = false
-
- private var updateTimer: Timer? = null
- private var connected = false
-
- private val DiscordLocationKey = DiscordLocationKey()
-
- private fun start() {
- coroutineScope.launch {
- try {
- if (isActive()) {
- return@launch
- }
- consoleLog("Starting Discord RPC...")
-
- firstLine = getStatusByConfigId(config.firstLine.get())
- secondLine = getStatusByConfigId(config.secondLine.get())
- startTimestamp = System.currentTimeMillis()
- client = IPCClient(applicationID)
- client?.setListener(this@DiscordRPCManager) // why must kotlin be this way
-
- try {
- client?.connect()
- } catch (ex: Exception) {
- consoleLog("Warn: Failed to connect to RPC!")
- consoleLog(ex.toString())
- }
- } catch (ex: Throwable) {
- consoleLog("Warn: Discord RPC has thrown an unexpected error while trying to start...")
- consoleLog(ex.toString())
- }
- }
- }
-
- private fun stop() {
- coroutineScope.launch {
- if (isActive()) {
- connected = false
- client?.close()
- startOnce = false
- }
- }
- }
-
- private fun isActive() = client != null && connected
-
- @SubscribeEvent
- fun onConfigLoad(event: ConfigLoadEvent) {
- for (property in listOf(
- config.firstLine,
- config.secondLine,
- config.customText,
- )) {
- property.whenChangedWithDifference {
- if (isActive()) {
- updatePresence()
- }
- }
- }
- config.enabled.whenChanged { _, new ->
- if (new) {
-// start()
- } else {
- stop()
- }
- }
- }
-
- fun Property<*>.whenChangedWithDifference(run: () -> (Unit)) {
- whenChanged { old, new -> if (old != new) run() }
- }
-
- fun updatePresence() {
- val location = LorenzUtils.skyBlockArea
- val discordIconKey = DiscordLocationKey.getDiscordIconKey(location)
-
- secondLine = getStatusByConfigId(config.secondLine.get())
- firstLine = getStatusByConfigId(config.firstLine.get())
- val presence: RichPresence = RichPresence.Builder()
- .setDetails(firstLine.getDisplayString())
- .setState(secondLine.getDisplayString())
- .setStartTimestamp(startTimestamp!!)
- .setLargeImage(discordIconKey, location)
- .build()
- client?.sendRichPresence(presence)
- }
-
- override fun onReady(client: IPCClient) {
- consoleLog("Discord RPC Started.")
- connected = true
- updateTimer = Timer()
- updateTimer?.schedule(object : TimerTask() {
- override fun run() {
- updatePresence()
- }
- }, 0, updatePeriod)
- }
-
- override fun onClose(client: IPCClient, json: JsonObject) {
- consoleLog("Discord RPC closed.")
- this.client = null
- connected = false
- cancelTimer()
- }
-
- override fun onDisconnect(client: IPCClient?, t: Throwable?) {
- consoleLog("Discord RPC disconnected.")
- this.client = null
- connected = false
- cancelTimer()
- }
-
- private fun cancelTimer() {
- updateTimer?.let {
- it.cancel()
- updateTimer = null
- }
- }
-
- private fun getStatusByConfigId(id: Int) = DiscordStatus.values().getOrElse(id) { DiscordStatus.NONE }
-
- private fun isEnabled() = config.enabled.get()
-
- @SubscribeEvent
- fun onTick(event: TickEvent.ClientTickEvent) {
- if (startOnce || !isEnabled()) return // the mod has already started the connection process. this variable is my way of running a function when the player joins skyblock but only running it again once they join and leave.
- if (LorenzUtils.inSkyBlock) {
- start()
- startOnce = true
- }
- }
-
- @SubscribeEvent
- fun onWorldChange(event: WorldEvent.Load) {
- val executor: ScheduledExecutorService = Executors.newSingleThreadScheduledExecutor()
- executor.schedule(
- {
- if (!LorenzUtils.inSkyBlock) {
- stop()
- }
- },
- 5,
- TimeUnit.SECONDS
- ) // wait 5 seconds to check if the new world is skyblock or not before stopping the function
- }
-
- @SubscribeEvent
- fun onDisconnect(event: FMLNetworkEvent.ClientDisconnectionFromServerEvent) {
- stop()
- }
-}
+//package at.hannibal2.skyhanni.features.misc.discordrpc
+//
+//// This entire file was taken from SkyblockAddons code, ported to SkyHanni
+//
+//import at.hannibal2.skyhanni.SkyHanniMod.Companion.consoleLog
+//import at.hannibal2.skyhanni.SkyHanniMod.Companion.coroutineScope
+//import at.hannibal2.skyhanni.SkyHanniMod.Companion.feature
+//import at.hannibal2.skyhanni.events.ConfigLoadEvent
+//import at.hannibal2.skyhanni.utils.LorenzUtils
+//import com.google.gson.JsonObject
+//import com.jagrosh.discordipc.IPCClient
+//import com.jagrosh.discordipc.IPCListener
+//import com.jagrosh.discordipc.entities.RichPresence
+//import io.github.moulberry.moulconfig.observer.Property
+//import kotlinx.coroutines.launch
+//import net.minecraftforge.event.world.WorldEvent
+//import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+//import net.minecraftforge.fml.common.gameevent.TickEvent
+//import net.minecraftforge.fml.common.network.FMLNetworkEvent
+//import java.util.*
+//import java.util.concurrent.Executors
+//import java.util.concurrent.ScheduledExecutorService
+//import java.util.concurrent.TimeUnit
+//
+//class DiscordRPCManager : IPCListener {
+// private val applicationID = 653443797182578707L
+// private val updatePeriod = 4200L
+//
+// private val config get() = feature.misc.discordRPC
+//
+// private var client: IPCClient? = null
+// private lateinit var secondLine: DiscordStatus
+// private lateinit var firstLine: DiscordStatus
+// private var startTimestamp: Long? = null
+// private var startOnce = false
+//
+// private var updateTimer: Timer? = null
+// private var connected = false
+//
+// private val DiscordLocationKey = DiscordLocationKey()
+//
+// private fun start() {
+// coroutineScope.launch {
+// try {
+// if (isActive()) {
+// return@launch
+// }
+// consoleLog("Starting Discord RPC...")
+//
+// firstLine = getStatusByConfigId(config.firstLine.get())
+// secondLine = getStatusByConfigId(config.secondLine.get())
+// startTimestamp = System.currentTimeMillis()
+// client = IPCClient(applicationID)
+// client?.setListener(this@DiscordRPCManager) // why must kotlin be this way
+//
+// try {
+// client?.connect()
+// } catch (ex: Exception) {
+// consoleLog("Warn: Failed to connect to RPC!")
+// consoleLog(ex.toString())
+// }
+// } catch (ex: Throwable) {
+// consoleLog("Warn: Discord RPC has thrown an unexpected error while trying to start...")
+// consoleLog(ex.toString())
+// }
+// }
+// }
+//
+// private fun stop() {
+// coroutineScope.launch {
+// if (isActive()) {
+// connected = false
+// client?.close()
+// startOnce = false
+// }
+// }
+// }
+//
+// private fun isActive() = client != null && connected
+//
+// @SubscribeEvent
+// fun onConfigLoad(event: ConfigLoadEvent) {
+// for (property in listOf(
+// config.firstLine,
+// config.secondLine,
+// config.customText,
+// )) {
+// property.whenChangedWithDifference {
+// if (isActive()) {
+// updatePresence()
+// }
+// }
+// }
+// config.enabled.whenChanged { _, new ->
+// if (new) {
+//// start()
+// } else {
+// stop()
+// }
+// }
+// }
+//
+// fun Property<*>.whenChangedWithDifference(run: () -> (Unit)) {
+// whenChanged { old, new -> if (old != new) run() }
+// }
+//
+// fun updatePresence() {
+// val location = LorenzUtils.skyBlockArea
+// val discordIconKey = DiscordLocationKey.getDiscordIconKey(location)
+//
+// secondLine = getStatusByConfigId(config.secondLine.get())
+// firstLine = getStatusByConfigId(config.firstLine.get())
+// val presence: RichPresence = RichPresence.Builder()
+// .setDetails(firstLine.getDisplayString())
+// .setState(secondLine.getDisplayString())
+// .setStartTimestamp(startTimestamp!!)
+// .setLargeImage(discordIconKey, location)
+// .build()
+// client?.sendRichPresence(presence)
+// }
+//
+// override fun onReady(client: IPCClient) {
+// consoleLog("Discord RPC Started.")
+// connected = true
+// updateTimer = Timer()
+// updateTimer?.schedule(object : TimerTask() {
+// override fun run() {
+// updatePresence()
+// }
+// }, 0, updatePeriod)
+// }
+//
+// override fun onClose(client: IPCClient, json: JsonObject) {
+// consoleLog("Discord RPC closed.")
+// this.client = null
+// connected = false
+// cancelTimer()
+// }
+//
+// override fun onDisconnect(client: IPCClient?, t: Throwable?) {
+// consoleLog("Discord RPC disconnected.")
+// this.client = null
+// connected = false
+// cancelTimer()
+// }
+//
+// private fun cancelTimer() {
+// updateTimer?.let {
+// it.cancel()
+// updateTimer = null
+// }
+// }
+//
+// private fun getStatusByConfigId(id: Int) = DiscordStatus.values().getOrElse(id) { DiscordStatus.NONE }
+//
+// private fun isEnabled() = config.enabled.get()
+//
+// @SubscribeEvent
+// fun onTick(event: TickEvent.ClientTickEvent) {
+// if (startOnce || !isEnabled()) return // the mod has already started the connection process. this variable is my way of running a function when the player joins skyblock but only running it again once they join and leave.
+// if (LorenzUtils.inSkyBlock) {
+// start()
+// startOnce = true
+// }
+// }
+//
+// @SubscribeEvent
+// fun onWorldChange(event: WorldEvent.Load) {
+// val executor: ScheduledExecutorService = Executors.newSingleThreadScheduledExecutor()
+// executor.schedule(
+// {
+// if (!LorenzUtils.inSkyBlock) {
+// stop()
+// }
+// },
+// 5,
+// TimeUnit.SECONDS
+// ) // wait 5 seconds to check if the new world is skyblock or not before stopping the function
+// }
+//
+// @SubscribeEvent
+// fun onDisconnect(event: FMLNetworkEvent.ClientDisconnectionFromServerEvent) {
+// stop()
+// }
+//}