aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt20
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt44
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/MinecraftConsoleFilter.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt16
5 files changed, 73 insertions, 28 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt b/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt
index 5584da0fe..908d8b810 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt
@@ -3,6 +3,7 @@ package at.hannibal2.skyhanni.utils
import at.hannibal2.skyhanni.SkyHanniMod
import com.google.gson.JsonObject
import com.google.gson.JsonParser
+import com.google.gson.stream.MalformedJsonException
import org.apache.http.client.config.RequestConfig
import org.apache.http.client.methods.HttpGet
import org.apache.http.impl.client.HttpClientBuilder
@@ -40,7 +41,13 @@ object APIUtil {
val entity = response.entity
if (entity != null) {
val retSrc = EntityUtils.toString(entity)
- return parser.parse(retSrc) as JsonObject
+ try {
+ return parser.parse(retSrc) as JsonObject
+ } catch (e: MalformedJsonException) {
+ LorenzUtils.error("MalformedJsonException!")
+ println("MalformedJsonException at '$urlString'")
+ e.printStackTrace()
+ }
}
}
} catch (throwable: Throwable) {
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt
index 1d51d1be9..feaaaa481 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/InventoryUtils.kt
@@ -11,9 +11,10 @@ object InventoryUtils {
fun currentlyOpenInventory(): String {
val screen = Minecraft.getMinecraft().currentScreen
if (screen !is GuiChest) return ""
- val chest = screen.inventorySlots as ContainerChest
+ val inventorySlots = screen.inventorySlots
+ val chest = inventorySlots as ContainerChest
- return chest.lowerChestInventory.displayName.unformattedText.trim()
+ return chest.getInventoryName()
}
fun getItemsInOpenChest(): List<Slot> {
@@ -32,4 +33,19 @@ object InventoryUtils {
}
return list
}
+
+ fun openInventoryName(): String {
+ val guiChest = Minecraft.getMinecraft().currentScreen
+ val chestName = if (guiChest is GuiChest) {
+ val chest = guiChest.inventorySlots as ContainerChest
+ chest.getInventoryName()
+ } else {
+ ""
+ }
+ return chestName
+ }
+
+ fun ContainerChest.getInventoryName(): String {
+ return this.lowerChestInventory.displayName.unformattedText.trim()
+ }
} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
index c4c9cedca..043978277 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
@@ -1,7 +1,8 @@
package at.hannibal2.skyhanni.utils
import at.hannibal2.skyhanni.SkyHanniMod
-import at.hannibal2.skyhanni.data.HypixelData
+import at.hannibal2.skyhanni.data.HyPixelData
+import at.hannibal2.skyhanni.data.IslandType
import at.hannibal2.skyhanni.features.dungeon.DungeonData
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
import net.minecraft.client.Minecraft
@@ -14,30 +15,42 @@ import java.text.SimpleDateFormat
object LorenzUtils {
- val isOnHypixel: Boolean
- get() = HypixelData.hypixel && Minecraft.getMinecraft().thePlayer != null
+ val isHyPixel: Boolean
+ get() = HyPixelData.hypixel && Minecraft.getMinecraft().thePlayer != null
- val inSkyblock: Boolean
- get() = isOnHypixel && HypixelData.skyblock
+ val inSkyBlock: Boolean
+ get() = isHyPixel && HyPixelData.skyBlock
val inDungeons: Boolean
- get() = inSkyblock && DungeonData.inDungeon()
+ get() = inSkyBlock && DungeonData.inDungeon()
- val skyBlockIsland: String
- get() = HypixelData.skyBlockIsland
+ val skyBlockIsland: IslandType
+ get() = HyPixelData.skyBlockIsland
//TODO add cache
val skyBlockArea: String
- get() = HypixelData.readSkyBlockArea()
+ get() = HyPixelData.readSkyBlockArea()
val inKuudraFight: Boolean
- get() = skyBlockIsland == "Instanced"
+ get() = skyBlockIsland == IslandType.KUUDRA_ARENA
- const val DEBUG_PREFIX = "[Debug] §7"
+ val noTradeMode: Boolean
+ get() = HyPixelData.noTrade
+
+ val isBingoProfile: Boolean
+ get() = inSkyBlock && HyPixelData.bingo
+
+ const val DEBUG_PREFIX = "[SkyHanni Debug] §7"
private val log = LorenzLogger("chat/mod_sent")
fun debug(message: String) {
- internalChat(DEBUG_PREFIX + message)
+ if (SkyHanniMod.feature.dev.debugEnabled) {
+ if (internalChat(DEBUG_PREFIX + message)) {
+ consoleLog("[Debug] $message")
+ }
+ } else {
+ consoleLog("[Debug] $message")
+ }
}
fun warning(message: String) {
@@ -52,21 +65,22 @@ object LorenzUtils {
internalChat(message)
}
- private fun internalChat(message: String) {
+ private fun internalChat(message: String): Boolean {
log.log(message)
val minecraft = Minecraft.getMinecraft()
if (minecraft == null) {
consoleLog(message.removeColor())
- return
+ return false
}
val thePlayer = minecraft.thePlayer
if (thePlayer == null) {
consoleLog(message.removeColor())
- return
+ return false
}
thePlayer.addChatMessage(ChatComponentText(message))
+ return true
}
//TODO move into StringUtils
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/MinecraftConsoleFilter.kt b/src/main/java/at/hannibal2/skyhanni/utils/MinecraftConsoleFilter.kt
index c0e64c7be..1036dab62 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/MinecraftConsoleFilter.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/MinecraftConsoleFilter.kt
@@ -130,15 +130,19 @@ class MinecraftConsoleFilter(private val loggerConfigName: String) : Filter {
if (cause.stackTrace.isNotEmpty()) {
val first = cause.stackTrace[0]
if (SkyHanniMod.feature.dev.filterScoreboardErrors) {
- if (first.toString() == "net.minecraft.scoreboard.Scoreboard.removeTeam(Scoreboard.java:229)") {
+ val firstName = first.toString()
+ if (firstName == "net.minecraft.scoreboard.Scoreboard.removeTeam(Scoreboard.java:229)" ||
+ firstName == "net.minecraft.scoreboard.Scoreboard.removeTeam(Scoreboard.java:262)"
+ ) {
filterConsole("NullPointerException at Scoreboard.removeTeam")
return Filter.Result.DENY
}
- if (first.toString() == "net.minecraft.scoreboard.Scoreboard.createTeam(Scoreboard.java:218)") {
+ if (firstName == "net.minecraft.scoreboard.Scoreboard.createTeam(Scoreboard.java:218)") {
filterConsole("IllegalArgumentException at Scoreboard.createTeam")
return Filter.Result.DENY
}
- if (first.toString() == "net.minecraft.scoreboard.Scoreboard.removeObjective(Scoreboard.java:179)") {
+ if (firstName == "net.minecraft.scoreboard.Scoreboard.removeObjective(Scoreboard.java:179)" ||
+ firstName == "net.minecraft.scoreboard.Scoreboard.removeObjective(Scoreboard.java:198)") {
filterConsole("IllegalArgumentException at Scoreboard.removeObjective")
return Filter.Result.DENY
}
@@ -154,7 +158,7 @@ class MinecraftConsoleFilter(private val loggerConfigName: String) : Filter {
}
if (!SkyHanniMod.feature.dev.printUnfilteredDebugs) return Filter.Result.ACCEPT
- if (!SkyHanniMod.feature.dev.printUnfilteredDebugsOutsideSkyBlock && !LorenzUtils.inSkyblock) return Filter.Result.ACCEPT
+ if (!SkyHanniMod.feature.dev.printUnfilteredDebugsOutsideSkyBlock && !LorenzUtils.inSkyBlock) return Filter.Result.ACCEPT
if (formattedMessage == "filtered console: ") return Filter.Result.ACCEPT
debug(" ")
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
index 97bba3099..ff28c52ab 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
@@ -424,22 +424,26 @@ object RenderUtils {
return lastValue + (currentValue - lastValue) * multiplier
}
- fun Position.renderString(string: String, offsetY: Int = 0) {
+ fun Position.renderString(string: String?, offsetY: Int = 0) {
+ val minecraft = Minecraft.getMinecraft()
+ if (minecraft.gameSettings.keyBindPlayerList.isKeyDown) return
+
+ if (string == null) return
if (string == "") return
- val textToRender = "§f$string"
+ val display = "§f$string"
GlStateManager.pushMatrix()
- val resolution = ScaledResolution(Minecraft.getMinecraft())
+ val resolution = ScaledResolution(minecraft)
- val renderer = Minecraft.getMinecraft().renderManager.fontRenderer ?: return
+ val renderer = minecraft.renderManager.fontRenderer ?: return
- val offsetX = (200 - renderer.getStringWidth(textToRender.removeColor())) / 2
+ val offsetX = (200 - renderer.getStringWidth(display.removeColor())) / 2
val x = getAbsX(resolution, 200) + offsetX
val y = getAbsY(resolution, 16) + offsetY
GlStateManager.translate(x + 1.0, y + 1.0, 0.0)
- renderer.drawStringWithShadow(textToRender, 0f, 0f, 0)
+ renderer.drawStringWithShadow(display, 0f, 0f, 0)
GlStateManager.popMatrix()
}