aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt23
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt11
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinItemStack.java13
3 files changed, 27 insertions, 20 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt b/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt
index 258cb244e..70cd9cd34 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt
@@ -9,22 +9,13 @@ import at.hannibal2.skyhanni.utils.ItemUtils.name
import net.minecraft.inventory.Slot
import net.minecraft.item.ItemStack
-// Please use LorenzToolTipEvent over ItemTooltipEvent if no special EventPriority is necessary
+// Please use LorenzToolTipEvent over ItemHoverEvent, ItemHoverEvent is only used for special use cases (e.g. neu pv)
object ToolTipData {
@JvmStatic
- fun getTooltip(stack: ItemStack, toolTip: MutableList<String>): List<String> {
- onHover(stack, toolTip)
- return onTooltip(toolTip)
- }
-
- private fun onHover(stack: ItemStack, toolTip: MutableList<String>) {
- ItemHoverEvent(stack, toolTip).postAndCatch()
- }
-
- fun onTooltip(toolTip: MutableList<String>): List<String> {
- val slot = lastSlot ?: return toolTip
- val itemStack = slot.stack ?: return toolTip
+ fun getTooltip(stack: ItemStack, toolTip: MutableList<String>) {
+ val slot = lastSlot ?: return
+ val itemStack = slot.stack ?: return
try {
if (LorenzToolTipEvent(slot, itemStack, toolTip).postAndCatch()) {
toolTip.clear()
@@ -42,7 +33,11 @@ object ToolTipData {
"lore" to itemStack.getLore(),
)
}
- return toolTip
+ }
+
+ @JvmStatic
+ fun onHover(stack: ItemStack, toolTip: MutableList<String>) {
+ ItemHoverEvent(stack, toolTip).postAndCatch()
}
var lastSlot: Slot? = null
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt
index 299fe6ec5..b2fdf8294 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt
@@ -66,14 +66,13 @@ object EstimatedItemValue {
fun onTooltip(event: ItemHoverEvent) {
if (!LorenzUtils.inSkyBlock) return
if (!config.enabled) return
+ if (Minecraft.getMinecraft().currentScreen !is GuiProfileViewer) return
- if (Minecraft.getMinecraft().currentScreen is GuiProfileViewer) {
- if (renderedItems == 0) {
- updateItem(event.itemStack)
- }
- tryRendering()
- renderedItems++
+ if (renderedItems == 0) {
+ updateItem(event.itemStack)
}
+ tryRendering()
+ renderedItems++
}
/**
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinItemStack.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinItemStack.java
index b96075d62..a3c2f85de 100644
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinItemStack.java
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinItemStack.java
@@ -1,10 +1,17 @@
package at.hannibal2.skyhanni.mixins.transformers;
+import at.hannibal2.skyhanni.data.ToolTipData;
import at.hannibal2.skyhanni.mixins.hooks.ItemStackCachedData;
import at.hannibal2.skyhanni.utils.CachedItemData;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+
+import java.util.List;
@Mixin(ItemStack.class)
public class MixinItemStack implements ItemStackCachedData {
@@ -15,4 +22,10 @@ public class MixinItemStack implements ItemStackCachedData {
public CachedItemData getSkyhanni_cachedData() {
return skyhanni_cachedData;
}
+
+ @Inject(method = "getTooltip", at = @At("RETURN"))
+ public void getTooltip(EntityPlayer playerIn, boolean advanced, CallbackInfoReturnable<List<String>> ci) {
+ ItemStack stack = (ItemStack) (Object) this;
+ ToolTipData.onHover(stack, ci.getReturnValue());
+ }
}