aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/test
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-06-14 05:49:38 +1000
committerGitHub <noreply@github.com>2024-06-13 21:49:38 +0200
commit5bd6a4cd3807d128ba55c336946531a8838c51c7 (patch)
tree3b3b4589cb4e47541f8d12602682a37f44b18a80 /src/main/java/at/hannibal2/skyhanni/test
parente9c12d363a45d7cc1581fd882f3701b5388f4a8e (diff)
downloadskyhanni-5bd6a4cd3807d128ba55c336946531a8838c51c7.tar.gz
skyhanni-5bd6a4cd3807d128ba55c336946531a8838c51c7.tar.bz2
skyhanni-5bd6a4cd3807d128ba55c336946531a8838c51c7.zip
Backend: Apply annotations to everything (#1983)
* add plugin Co-authored-by: ThatGravyBoat <thatgravyboat@gmail.com> * data and apis done * other stuff done * fix merge * Backend: Classes -> Objects with annotation * Backend: Apply annotations to everything * fix test * fix merge * fix merge * use annotation * use annotation * fix version number * fix space * bring back fix * work on companion again now that they are all done * oop * fixed merge conflicts --------- Co-authored-by: ThatGravyBoat <thatgravyboat@gmail.com> Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/test')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt527
1 files changed, 263 insertions, 264 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt b/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt
index ec6c10db4..b3dabadd5 100644
--- a/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt
+++ b/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt
@@ -16,6 +16,7 @@ import at.hannibal2.skyhanni.events.ReceiveParticleEvent
import at.hannibal2.skyhanni.features.garden.GardenNextJacobContest
import at.hannibal2.skyhanni.features.garden.visitor.GardenVisitorColorNames
import at.hannibal2.skyhanni.features.inventory.bazaar.BazaarApi.getBazaarData
+import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.CollectionUtils.editCopy
import at.hannibal2.skyhanni.utils.InventoryUtils
@@ -62,62 +63,61 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import java.io.File
import kotlin.time.Duration.Companion.seconds
-class SkyHanniDebugsAndTests {
+@SkyHanniModule
+object SkyHanniDebugsAndTests {
- companion object {
+ private val config get() = SkyHanniMod.feature.dev
+ private val debugConfig get() = config.debug
+ var displayLine = ""
+ var displayList = emptyList<List<Any>>()
- private val config get() = SkyHanniMod.feature.dev
- private val debugConfig get() = config.debug
- var displayLine = ""
- var displayList = emptyList<List<Any>>()
+ var globalRender = true
- var globalRender = true
+ var a = 1.0
+ var b = 60.0
+ var c = 0.0
- var a = 1.0
- var b = 60.0
- var c = 0.0
+ val debugLogger = LorenzLogger("debug/test")
- val debugLogger = LorenzLogger("debug/test")
-
- private fun run(compound: NBTTagCompound, text: String) {
- print("$text'$compound'")
- for (s in compound.keySet) {
- val element = compound.getCompoundTag(s)
- run(element, "$text ")
- }
+ private fun run(compound: NBTTagCompound, text: String) {
+ print("$text'$compound'")
+ for (s in compound.keySet) {
+ val element = compound.getCompoundTag(s)
+ run(element, "$text ")
}
+ }
- private fun print(text: String) {
- LorenzDebug.log(text)
- }
+ private fun print(text: String) {
+ LorenzDebug.log(text)
+ }
- private var testLocation: LorenzVec? = null
+ private var testLocation: LorenzVec? = null
- @SubscribeEvent
- fun onRenderWorld(event: LorenzRenderWorldEvent) {
- testLocation?.let {
- event.drawWaypointFilled(it, LorenzColor.WHITE.toColor())
- event.drawDynamicText(it, "Test", 1.5)
- }
+ @SubscribeEvent
+ fun onRenderWorld(event: LorenzRenderWorldEvent) {
+ testLocation?.let {
+ event.drawWaypointFilled(it, LorenzColor.WHITE.toColor())
+ event.drawDynamicText(it, "Test", 1.5)
}
+ }
- fun waypoint(args: Array<String>) {
- SoundUtils.playBeepSound()
-
- if (args.isEmpty()) {
- testLocation = null
- ChatUtils.chat("reset test waypoint")
- }
+ fun waypoint(args: Array<String>) {
+ SoundUtils.playBeepSound()
- val x = args[0].toDouble()
- val y = args[1].toDouble()
- val z = args[2].toDouble()
- testLocation = LorenzVec(x, y, z)
- ChatUtils.chat("set test waypoint")
+ if (args.isEmpty()) {
+ testLocation = null
+ ChatUtils.chat("reset test waypoint")
}
- fun testCommand(args: Array<String>) {
- SoundUtils.playBeepSound()
+ val x = args[0].toDouble()
+ val y = args[1].toDouble()
+ val z = args[2].toDouble()
+ testLocation = LorenzVec(x, y, z)
+ ChatUtils.chat("set test waypoint")
+ }
+
+ fun testCommand(args: Array<String>) {
+ SoundUtils.playBeepSound()
// val a = Thread { OSUtils.copyToClipboard("123") }
// val b = Thread { OSUtils.copyToClipboard("456") }
// a.start()
@@ -146,271 +146,270 @@ class SkyHanniDebugsAndTests {
// for (line in TabListUtils.getTabList()) {
// println("tablist: '$line'")
// }
- }
+ }
- fun findNullConfig(args: Array<String>) {
- println("start null finder")
- findNull(SkyHanniMod.feature, "config")
- println("stop null finder")
- }
+ fun findNullConfig(args: Array<String>) {
+ println("start null finder")
+ findNull(SkyHanniMod.feature, "config")
+ println("stop null finder")
+ }
- private fun findNull(obj: Any, path: String) {
-
- val blockedNames = listOf(
- "TRUE",
- "FALSE",
- "SIZE",
- "MIN_VALUE",
- "MAX_VALUE",
- "BYTES",
- "POSITIVE_INFINITY",
- "NEGATIVE_INFINITY",
- "NaN",
- "MIN_NORMAL",
- )
+ private fun findNull(obj: Any, path: String) {
+
+ val blockedNames = listOf(
+ "TRUE",
+ "FALSE",
+ "SIZE",
+ "MIN_VALUE",
+ "MAX_VALUE",
+ "BYTES",
+ "POSITIVE_INFINITY",
+ "NEGATIVE_INFINITY",
+ "NaN",
+ "MIN_NORMAL",
+ )
- val javaClass = obj.javaClass
- if (javaClass.isEnum) return
- for (field in javaClass.fields) {
- val name = field.name
- if (name in blockedNames) continue
+ val javaClass = obj.javaClass
+ if (javaClass.isEnum) return
+ for (field in javaClass.fields) {
+ val name = field.name
+ if (name in blockedNames) continue
- // funny thing
- if (obj is Position) {
- if (name == "internalName") continue
- }
+ // funny thing
+ if (obj is Position) {
+ if (name == "internalName") continue
+ }
- val other = field.makeAccessible().get(obj)
- val newName = "$path.$name"
- if (other == null) {
- println("config null at $newName")
- } else {
- findNull(other, newName)
- }
+ val other = field.makeAccessible().get(obj)
+ val newName = "$path.$name"
+ if (other == null) {
+ println("config null at $newName")
+ } else {
+ findNull(other, newName)
}
}
+ }
- fun resetConfigCommand() {
- ChatUtils.clickableChat(
- "§cTHIS WILL RESET YOUR SkyHanni CONFIG! Click here to procceed.",
- onClick = {
- resetConfig()
- },
- prefix = false,
- oneTimeClick = true
- )
- }
+ fun resetConfigCommand() {
+ ChatUtils.clickableChat(
+ "§cTHIS WILL RESET YOUR SkyHanni CONFIG! Click here to procceed.",
+ onClick = {
+ resetConfig()
+ },
+ prefix = false,
+ oneTimeClick = true
+ )
+ }
- private fun resetConfig() {
- // saving old config state
- SkyHanniMod.configManager.saveConfig(ConfigFileType.FEATURES, "reload config manager")
- SkyHanniMod.configManager.saveConfig(ConfigFileType.SACKS, "reload config manager")
- Thread {
- Thread.sleep(500)
- SkyHanniMod.configManager.disableSaving()
-
- // initializing a new config manager, calling firstLoad, and setting it as the config manager in use.
- val configManager = ConfigManager()
- configManager.firstLoad()
- SkyHanniMod.Companion::class.java.enclosingClass.getDeclaredField("configManager").makeAccessible()
- .set(SkyHanniMod, configManager)
-
- // resetting the MoulConfigProcessor in use
- ConfigGuiManager.editor = null
- ChatUtils.chat("Reset the config manager!")
- }.start()
+ private fun resetConfig() {
+ // saving old config state
+ SkyHanniMod.configManager.saveConfig(ConfigFileType.FEATURES, "reload config manager")
+ SkyHanniMod.configManager.saveConfig(ConfigFileType.SACKS, "reload config manager")
+ Thread {
+ Thread.sleep(500)
+ SkyHanniMod.configManager.disableSaving()
+
+ // initializing a new config manager, calling firstLoad, and setting it as the config manager in use.
+ val configManager = ConfigManager()
+ configManager.firstLoad()
+ SkyHanniMod.Companion::class.java.enclosingClass.getDeclaredField("configManager").makeAccessible()
+ .set(SkyHanniMod, configManager)
+
+ // resetting the MoulConfigProcessor in use
+ ConfigGuiManager.editor = null
+ ChatUtils.chat("Reset the config manager!")
+ }.start()
+ }
+
+ fun testGardenVisitors() {
+ if (displayList.isNotEmpty()) {
+ displayList = mutableListOf()
+ return
}
- fun testGardenVisitors() {
- if (displayList.isNotEmpty()) {
- displayList = mutableListOf()
- return
+ val bigList = mutableListOf<List<Any>>()
+ var list = mutableListOf<Any>()
+ var i = 0
+ var errors = 0
+ for (item in GardenVisitorColorNames.visitorItems) {
+ val name = item.key
+ i++
+ if (i == 5) {
+ i = 0
+ bigList.add(list)
+ list = mutableListOf()
}
- val bigList = mutableListOf<List<Any>>()
- var list = mutableListOf<Any>()
- var i = 0
- var errors = 0
- for (item in GardenVisitorColorNames.visitorItems) {
- val name = item.key
- i++
- if (i == 5) {
- i = 0
- bigList.add(list)
- list = mutableListOf()
+ val coloredName = GardenVisitorColorNames.getColoredName(name)
+ list.add("$coloredName§7 (")
+ for (itemName in item.value) {
+ try {
+ val internalName = NEUInternalName.fromItemName(itemName)
+ list.add(internalName.getItemStack())
+ } catch (e: Error) {
+ ChatUtils.debug("itemName '$itemName' is invalid for visitor '$name'")
+ errors++
}
-
- val coloredName = GardenVisitorColorNames.getColoredName(name)
- list.add("$coloredName§7 (")
- for (itemName in item.value) {
- try {
- val internalName = NEUInternalName.fromItemName(itemName)
- list.add(internalName.getItemStack())
- } catch (e: Error) {
- ChatUtils.debug("itemName '$itemName' is invalid for visitor '$name'")
- errors++
- }
- }
- if (item.value.isEmpty()) {
- list.add("Any")
- }
- list.add("§7) ")
}
- bigList.add(list)
- displayList = bigList
- if (errors == 0) {
- ChatUtils.debug("Test garden visitor renderer: no errors")
- } else {
- ChatUtils.debug("Test garden visitor renderer: $errors errors")
+ if (item.value.isEmpty()) {
+ list.add("Any")
}
+ list.add("§7) ")
}
-
- fun reloadListeners() {
- val blockedFeatures = try {
- File("config/skyhanni/blocked-features.txt").readLines().toList()
- } catch (e: Exception) {
- emptyList()
- }
-
- val modules = SkyHanniMod.modules
- for (original in modules.toMutableList()) {
- val javaClass = original.javaClass
- val simpleName = javaClass.simpleName
- MinecraftForge.EVENT_BUS.unregister(original)
- println("Unregistered listener $simpleName")
-
- if (simpleName !in blockedFeatures) {
- modules.remove(original)
- val module = javaClass.newInstance()
- modules.add(module)
-
- MinecraftForge.EVENT_BUS.register(module)
- println("Registered listener $simpleName")
- } else {
- println("Skipped registering listener $simpleName")
- }
- }
- ChatUtils.chat("reloaded ${modules.size} listener classes.")
+ bigList.add(list)
+ displayList = bigList
+ if (errors == 0) {
+ ChatUtils.debug("Test garden visitor renderer: no errors")
+ } else {
+ ChatUtils.debug("Test garden visitor renderer: $errors errors")
}
+ }
- fun stopListeners() {
- val modules = SkyHanniMod.modules
- for (original in modules.toMutableList()) {
- val javaClass = original.javaClass
- val simpleName = javaClass.simpleName
- MinecraftForge.EVENT_BUS.unregister(original)
- println("Unregistered listener $simpleName")
- }
- ChatUtils.chat("stopped ${modules.size} listener classes.")
+ fun reloadListeners() {
+ val blockedFeatures = try {
+ File("config/skyhanni/blocked-features.txt").readLines().toList()
+ } catch (e: Exception) {
+ emptyList()
}
- fun whereAmI() {
- if (LorenzUtils.inSkyBlock) {
- ChatUtils.chat("§eYou are currently in ${LorenzUtils.skyBlockIsland}.")
- return
+ val modules = SkyHanniMod.modules
+ for (original in modules.toMutableList()) {
+ val javaClass = original.javaClass
+ val simpleName = javaClass.simpleName
+ MinecraftForge.EVENT_BUS.unregister(original)
+ println("Unregistered listener $simpleName")
+
+ if (simpleName !in blockedFeatures) {
+ modules.remove(original)
+ val module = javaClass.newInstance()
+ modules.add(module)
+
+ MinecraftForge.EVENT_BUS.register(module)
+ println("Registered listener $simpleName")
+ } else {
+ println("Skipped registering listener $simpleName")
}
- ChatUtils.chat("§eYou are not in Skyblock.")
}
+ ChatUtils.chat("reloaded ${modules.size} listener classes.")
+ }
- private var lastManualContestDataUpdate = SimpleTimeMark.farPast()
+ fun stopListeners() {
+ val modules = SkyHanniMod.modules
+ for (original in modules.toMutableList()) {
+ val javaClass = original.javaClass
+ val simpleName = javaClass.simpleName
+ MinecraftForge.EVENT_BUS.unregister(original)
+ println("Unregistered listener $simpleName")
+ }
+ ChatUtils.chat("stopped ${modules.size} listener classes.")
+ }
- fun clearContestData() {
- if (lastManualContestDataUpdate.passedSince() < 30.seconds) {
- ChatUtils.userError("§cYou already cleared Jacob's Contest data recently!")
- return
- }
- lastManualContestDataUpdate = SimpleTimeMark.now()
-
- GardenNextJacobContest.contests.clear()
- GardenNextJacobContest.fetchedFromElite = false
- GardenNextJacobContest.isFetchingContests = true
- SkyHanniMod.coroutineScope.launch {
- GardenNextJacobContest.fetchUpcomingContests()
- GardenNextJacobContest.lastFetchAttempted = System.currentTimeMillis()
- GardenNextJacobContest.isFetchingContests = false
- }
+ fun whereAmI() {
+ if (LorenzUtils.inSkyBlock) {
+ ChatUtils.chat("§eYou are currently in ${LorenzUtils.skyBlockIsland}.")
+ return
}
+ ChatUtils.chat("§eYou are not in Skyblock.")
+ }
- fun copyLocation(args: Array<String>) {
- val location = LocationUtils.playerLocation()
- val x = (location.x + 0.001).round(1)
- val y = (location.y + 0.001).round(1)
- val z = (location.z + 0.001).round(1)
- if (args.size == 1 && args[0].equals("json", false)) {
- OSUtils.copyToClipboard("\"$x:$y:$z\"")
- return
- }
+ private var lastManualContestDataUpdate = SimpleTimeMark.farPast()
- OSUtils.copyToClipboard("LorenzVec($x, $y, $z)")
+ fun clearContestData() {
+ if (lastManualContestDataUpdate.passedSince() < 30.seconds) {
+ ChatUtils.userError("§cYou already cleared Jacob's Contest data recently!")
+ return
+ }
+ lastManualContestDataUpdate = SimpleTimeMark.now()
+
+ GardenNextJacobContest.contests.clear()
+ GardenNextJacobContest.fetchedFromElite = false
+ GardenNextJacobContest.isFetchingContests = true
+ SkyHanniMod.coroutineScope.launch {
+ GardenNextJacobContest.fetchUpcomingContests()
+ GardenNextJacobContest.lastFetchAttempted = System.currentTimeMillis()
+ GardenNextJacobContest.isFetchingContests = false
}
+ }
- fun debugVersion() {
- val name = "SkyHanni ${SkyHanniMod.version}"
- ChatUtils.chat("§eYou are using $name")
- OSUtils.copyToClipboard(name)
+ fun copyLocation(args: Array<String>) {
+ val location = LocationUtils.playerLocation()
+ val x = (location.x + 0.001).round(1)
+ val y = (location.y + 0.001).round(1)
+ val z = (location.z + 0.001).round(1)
+ if (args.size == 1 && args[0].equals("json", false)) {
+ OSUtils.copyToClipboard("\"$x:$y:$z\"")
+ return
}
- fun copyItemInternalName() {
- val hand = InventoryUtils.getItemInHand()
- if (hand == null) {
- ChatUtils.userError("No item in hand!")
- return
- }
+ OSUtils.copyToClipboard("LorenzVec($x, $y, $z)")
+ }
- val internalName = hand.getInternalNameOrNull()
- if (internalName == null) {
- ChatUtils.error("§cInternal name is null for item ${hand.name}")
- return
- }
+ fun debugVersion() {
+ val name = "SkyHanni ${SkyHanniMod.version}"
+ ChatUtils.chat("§eYou are using $name")
+ OSUtils.copyToClipboard(name)
+ }
- val rawInternalName = internalName.asString()
- OSUtils.copyToClipboard(rawInternalName)
- ChatUtils.chat("§eCopied internal name §7$rawInternalName §eto the clipboard!")
+ fun copyItemInternalName() {
+ val hand = InventoryUtils.getItemInHand()
+ if (hand == null) {
+ ChatUtils.userError("No item in hand!")
+ return
}
- fun toggleRender() {
- globalRender = !globalRender
- if (globalRender) {
- ChatUtils.chat("§aEnabled global renderer!")
- } else {
- ChatUtils.chat("§cDisabled global renderer! Run this command again to show SkyHanni rendering again.")
- }
+ val internalName = hand.getInternalNameOrNull()
+ if (internalName == null) {
+ ChatUtils.error("§cInternal name is null for item ${hand.name}")
+ return
}
- fun testItemCommand(args: Array<String>) {
- if (args.isEmpty()) {
- ChatUtils.userError("Usage: /shtestitem <item name or internal name>")
- return
- }
+ val rawInternalName = internalName.asString()
+ OSUtils.copyToClipboard(rawInternalName)
+ ChatUtils.chat("§eCopied internal name §7$rawInternalName §eto the clipboard!")
+ }
- val input = args.joinToString(" ")
- val result = buildList {
- add("")
- add("§bSkyHanni Test Item")
- add("§einput: '§f$input§e'")
-
- NEUInternalName.fromItemNameOrNull(input)?.let { internalName ->
- add("§eitem name -> internalName: '§7${internalName.asString()}§e'")
- add(" §eitemName: '${internalName.itemName}§e'")
- val price = internalName.getPriceOrNull()?.let { "§6" + it.addSeparators() } ?: "§7null"
- add(" §eprice: '§6${price}§e'")
- return@buildList
- }
+ fun toggleRender() {
+ globalRender = !globalRender
+ if (globalRender) {
+ ChatUtils.chat("§aEnabled global renderer!")
+ } else {
+ ChatUtils.chat("§cDisabled global renderer! Run this command again to show SkyHanni rendering again.")
+ }
+ }
- input.asInternalName().getItemStackOrNull()?.let { item ->
- val itemName = item.itemName
- val internalName = item.getInternalName()
- add("§einternal name: §7${internalName.asString()}")
- add("§einternal name -> item name: '$itemName§e'")
- val price = internalName.getPriceOrNull()?.let { "§6" + it.addSeparators() } ?: "§7null"
- add(" §eprice: '§6${price}§e'")
- return@buildList
- }
+ fun testItemCommand(args: Array<String>) {
+ if (args.isEmpty()) {
+ ChatUtils.userError("Usage: /shtestitem <item name or internal name>")
+ return
+ }
+
+ val input = args.joinToString(" ")
+ val result = buildList {
+ add("")
+ add("§bSkyHanni Test Item")
+ add("§einput: '§f$input§e'")
+
+ NEUInternalName.fromItemNameOrNull(input)?.let { internalName ->
+ add("§eitem name -> internalName: '§7${internalName.asString()}§e'")
+ add(" §eitemName: '${internalName.itemName}§e'")
+ val price = internalName.getPriceOrNull()?.let { "§6" + it.addSeparators() } ?: "§7null"
+ add(" §eprice: '§6${price}§e'")
+ return@buildList
+ }
- add("§cNothing found!")
+ input.asInternalName().getItemStackOrNull()?.let { item ->
+ val itemName = item.itemName
+ val internalName = item.getInternalName()
+ add("§einternal name: §7${internalName.asString()}")
+ add("§einternal name -> item name: '$itemName§e'")
+ val price = internalName.getPriceOrNull()?.let { "§6" + it.addSeparators() } ?: "§7null"
+ add(" §eprice: '§6${price}§e'")
+ return@buildList
}
- ChatUtils.chat(result.joinToString("\n"), prefix = false)
+
+ add("§cNothing found!")
}
+ ChatUtils.chat(result.joinToString("\n"), prefix = false)
}
@SubscribeEvent