diff options
author | CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> | 2024-06-14 05:49:38 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-13 21:49:38 +0200 |
commit | 5bd6a4cd3807d128ba55c336946531a8838c51c7 (patch) | |
tree | 3b3b4589cb4e47541f8d12602682a37f44b18a80 /src/main/java/at/hannibal2/skyhanni/test | |
parent | e9c12d363a45d7cc1581fd882f3701b5388f4a8e (diff) | |
download | skyhanni-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.kt | 527 |
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 |