diff options
author | Yasin <LifeIsAParadox@users.noreply.github.com> | 2023-05-02 21:25:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 21:25:07 +0200 |
commit | 02663034154813fb43865d0f4f0cd5fc4a260487 (patch) | |
tree | 6f68f297666e562ec391b1559b6f6d0424030159 | |
parent | 872196f52ca49b81fa84d7a9665522c0f36ff03f (diff) | |
parent | 8d0b1a040d97f66cb295c7b1022729498d22f6b8 (diff) | |
download | Skyblocker-02663034154813fb43865d0f4f0cd5fc4a260487.tar.gz Skyblocker-02663034154813fb43865d0f4f0cd5fc4a260487.tar.bz2 Skyblocker-02663034154813fb43865d0f4f0cd5fc4a260487.zip |
Merge pull request #135 from msg-programs/tooltopfix
Add option to hide empty tooltips in inventories.
5 files changed, 34 insertions, 1 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index c606f71a..48eb31c7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -125,6 +125,7 @@ public class SkyblockerConfig implements ConfigData { public static class General { public boolean enableUpdateNotification = true; public boolean backpackPreviewWithoutShift = false; + public boolean hideEmptyTooltips = true; @ConfigEntry.Gui.Excluded public String apiKey; diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java new file mode 100644 index 00000000..14aa8868 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java @@ -0,0 +1,28 @@ +package me.xmrvizzy.skyblocker.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.utils.Utils; + +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.item.ItemStack; +import net.minecraft.text.Text; + +@Mixin(Screen.class) +public abstract class ScreenMixin { + + @Inject(at = @At("HEAD"), method = "renderTooltip(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/item/ItemStack;II)V", cancellable = true) + public void skyblocker$renderTooltip(MatrixStack matrices, ItemStack itemStack, int x, int y, CallbackInfo ci) { + Text stackName = itemStack.getName(); + String strName = stackName.getString(); + if (Utils.isOnSkyblock && SkyblockerConfig.get().general.hideEmptyTooltips && strName.equals(" ")) { + ci.cancel(); + } + } + +} diff --git a/src/main/resources/assets/skyblocker/lang/de_de.json b/src/main/resources/assets/skyblocker/lang/de_de.json index 090cd4d3..56f0fb14 100644 --- a/src/main/resources/assets/skyblocker/lang/de_de.json +++ b/src/main/resources/assets/skyblocker/lang/de_de.json @@ -5,6 +5,8 @@ "text.autoconfig.skyblocker.category.general": "Allgemein", "text.autoconfig.skyblocker.option.general.bars": "Gesundheits-, Mana-, Verteidigungs- und XP-Balken", "text.autoconfig.skyblocker.option.general.bars.enableBars": "Balken aktivieren", + "text.autoconfig.skyblocker.option.general.hideEmptyTooltips": "Leere Item-Tooltips in Menüs verstecken", + "text.autoconfig.skyblocker.category.locations": "Standorte", "text.autoconfig.skyblocker.option.locations.dungeons": "Dungeons", "text.autoconfig.skyblocker.option.locations.dungeons.enableMap": "Karte aktivieren", diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 7aa720f2..0ff95ccc 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -193,6 +193,7 @@ "skyblocker.update.update_message_end" : " §ato find out about latest features.", "skyblocker.update.hover_text": "Open Modrinth", "text.autoconfig.skyblocker.option.general.enableUpdateNotification": "Update Notification", + "text.autoconfig.skyblocker.option.general.hideEmptyTooltips": "Hide empty item tooltips in menus", "skyblocker.api.got_key": "§b[§6Skyblocker§b] §2Automatically set your API key!" } diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json index fc37cfb0..4a6be779 100644 --- a/src/main/resources/skyblocker.mixins.json +++ b/src/main/resources/skyblocker.mixins.json @@ -16,7 +16,8 @@ "HandledScreenMixin", "InventoryScreenMixin", "RecipeBookWidgetAccessor", - "HandledScreenAccessor" + "HandledScreenAccessor", + "ScreenMixin" ], "injectors": { "defaultRequire": 1 |