aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-10-09 01:51:34 -0400
committerMy-Name-Is-Jeff <37018278+My-Name-Is-Jeff@users.noreply.github.com>2021-10-09 01:51:34 -0400
commit5d06b43807389234e42e6c98fff73aa35ee4904e (patch)
tree90a5895a5cedeaa271d5d7ff474ff61d24e5708f /src/main
parent2185673d76bc639660da04b61e81601b9e0d8513 (diff)
downloadSkytilsMod-5d06b43807389234e42e6c98fff73aa35ee4904e.tar.gz
SkytilsMod-5d06b43807389234e42e6c98fff73aa35ee4904e.tar.bz2
SkytilsMod-5d06b43807389234e42e6c98fff73aa35ee4904e.zip
bestiary stack size
Diffstat (limited to 'src/main')
-rw-r--r--src/main/kotlin/skytils/skytilsmod/core/Config.kt7
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt52
2 files changed, 54 insertions, 5 deletions
diff --git a/src/main/kotlin/skytils/skytilsmod/core/Config.kt b/src/main/kotlin/skytils/skytilsmod/core/Config.kt
index ceea45d8..b44a8080 100644
--- a/src/main/kotlin/skytils/skytilsmod/core/Config.kt
+++ b/src/main/kotlin/skytils/skytilsmod/core/Config.kt
@@ -1225,6 +1225,13 @@ object Config : Vigilant(File("./config/skytils/config.toml"), "Skytils", sortin
var pingDisplay = 0
@Property(
+ type = PropertyType.SWITCH, name = "Show Bestiary Level",
+ description = "Shows the bestiary level as the stack size.",
+ category = "Miscellaneous", subcategory = "Other"
+ )
+ var showBestiaryLevel = false
+
+ @Property(
PropertyType.SWITCH, name = "Show Selected Arrow",
description = "Shows your current selected arrow.",
category = "Miscellaneous", subcategory = "Other"
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt
index 41b5c083..1b053b6b 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt
@@ -24,6 +24,7 @@ import net.minecraft.client.Minecraft
import net.minecraft.client.entity.EntityOtherPlayerMP
import net.minecraft.client.gui.GuiScreen
import net.minecraft.client.gui.inventory.GuiChest
+import net.minecraft.client.renderer.GlStateManager
import net.minecraft.entity.EntityLivingBase
import net.minecraft.entity.effect.EntityLightningBolt
import net.minecraft.entity.item.EntityArmorStand
@@ -56,16 +57,14 @@ import skytils.skytilsmod.core.GuiManager.Companion.createTitle
import skytils.skytilsmod.core.TickTask
import skytils.skytilsmod.core.structure.FloatPair
import skytils.skytilsmod.core.structure.GuiElement
-import skytils.skytilsmod.events.BossBarEvent
-import skytils.skytilsmod.events.CheckRenderEntityEvent
-import skytils.skytilsmod.events.GuiContainerEvent
+import skytils.skytilsmod.events.*
import skytils.skytilsmod.events.GuiContainerEvent.SlotClickEvent
import skytils.skytilsmod.events.PacketEvent.ReceiveEvent
-import skytils.skytilsmod.events.SendChatMessageEvent
import skytils.skytilsmod.mixins.transformers.accessors.AccessorWorldInfo
import skytils.skytilsmod.utils.*
import skytils.skytilsmod.utils.ItemUtil.getExtraAttributes
import skytils.skytilsmod.utils.ItemUtil.getSkyBlockItemID
+import skytils.skytilsmod.utils.NumberUtil.romanToDecimal
import skytils.skytilsmod.utils.NumberUtil.roundToPrecision
import skytils.skytilsmod.utils.RenderUtil.highlight
import skytils.skytilsmod.utils.RenderUtil.renderItem
@@ -402,6 +401,48 @@ class MiscFeatures {
}
}
+ @SubscribeEvent
+ fun onRenderItemOverlayPost(event: GuiRenderItemEvent.RenderOverlayEvent.Post) {
+ val item = event.stack ?: return
+ if (!Utils.inSkyblock || mc.thePlayer == null || item.stackSize != 1 || item.tagCompound?.hasKey("SkytilsNoItemOverlay") == true) return
+ var stackTip = ""
+
+ val c = mc.thePlayer.openContainer
+ if (c is ContainerChest) {
+ val name = c.lowerChestInventory.name
+ if (Skytils.config.showBestiaryLevel && name.startsWithAny(
+ "Bestiary ➜ ",
+ "Search Results"
+ ) && item.item != Item.getItemFromBlock(Blocks.stained_glass_pane)
+ ) {
+ val arrowSlot = c.inventorySlots.getOrNull(48)?.stack
+ if (arrowSlot != null && arrowSlot.item == Items.arrow && ItemUtil.getItemLore(item)
+ .lastOrNull() == "§eClick to view!" /* && ItemUtil.getDisplayName(arrowSlot) == "§aGo Back" && ItemUtil.getItemLore(
+ arrowSlot
+ ).firstOrNull() == "§7To Bestiary"*/
+ ) {
+ var ending = ItemUtil.getDisplayName(item).substringAfterLast(" ", "")
+ if (ending.any { !it.isUpperCase() }) ending = ""
+ stackTip = ending.romanToDecimal().toString()
+ }
+ }
+ }
+
+ if (stackTip.isNotBlank()) {
+ GlStateManager.disableLighting()
+ GlStateManager.disableDepth()
+ GlStateManager.disableBlend()
+ event.fr.drawStringWithShadow(
+ stackTip,
+ (event.x + 17 - event.fr.getStringWidth(stackTip)).toFloat(),
+ (event.y + 9).toFloat(),
+ 16777215
+ )
+ GlStateManager.enableLighting()
+ GlStateManager.enableDepth()
+ }
+ }
+
companion object {
private val mc = Minecraft.getMinecraft()
private var golemSpawnTime: Long = 0
@@ -589,7 +630,8 @@ class MiscFeatures {
}
override fun demoRender() {
- usesBaldTimeChanger = Loader.instance().activeModList.any { it.modId == "timechanger" && it.version == "1.0" }
+ usesBaldTimeChanger =
+ Loader.instance().activeModList.any { it.modId == "timechanger" && it.version == "1.0" }
if (usesBaldTimeChanger) {
ScreenRenderer.fontRenderer.drawString(
"Incompatible Time Changer detected.",