aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorRoman Gräf <romangraef@loves.dicksinhisan.us>2020-08-19 13:52:39 +0200
committerRoman Gräf <romangraef@loves.dicksinhisan.us>2020-08-19 13:52:39 +0200
commitb43c9d110af46c29f5677e7640c543a6d8d48869 (patch)
tree642abd194f44b573d6c1b7cca73b64e40cc7d913 /src/main
parentc385807c59d7d8900226937b58aef552782dcc19 (diff)
downloadtagtooltip-b43c9d110af46c29f5677e7640c543a6d8d48869.tar.gz
tagtooltip-b43c9d110af46c29f5677e7640c543a6d8d48869.tar.bz2
tagtooltip-b43c9d110af46c29f5677e7640c543a6d8d48869.zip
Added support for GUI screens
See https://forums.minecraftforge.net/topic/86781-1152-keybinding-wont-trigger-in-chestscreen/?do=findComment&comment=419046
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/romangraef/tagtooltip/TagTooltip.java21
-rw-r--r--src/main/resources/META-INF/mods.toml2
2 files changed, 18 insertions, 5 deletions
diff --git a/src/main/java/com/romangraef/tagtooltip/TagTooltip.java b/src/main/java/com/romangraef/tagtooltip/TagTooltip.java
index 31dfa6c..cf5a9a3 100644
--- a/src/main/java/com/romangraef/tagtooltip/TagTooltip.java
+++ b/src/main/java/com/romangraef/tagtooltip/TagTooltip.java
@@ -1,5 +1,6 @@
package com.romangraef.tagtooltip;
+import net.minecraft.client.Minecraft;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.client.util.InputMappings;
import net.minecraft.util.ResourceLocation;
@@ -7,10 +8,10 @@ import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraftforge.api.distmarker.Dist;
+import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.settings.KeyConflictContext;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
-import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ExtensionPoint;
@@ -35,26 +36,38 @@ public class TagTooltip {
public static final String MODID = "tagtooltip";
public static final Logger log = LogManager.getLogger(MODID);
public KeyBinding showTagsBinding = new KeyBinding("key.showtags", KeyConflictContext.UNIVERSAL, InputMappings.Type.KEYSYM, GLFW.GLFW_KEY_M, "key.categories.inventory");
+ public boolean isShowTagsDown = false;
public TagTooltip() {
if (FMLEnvironment.dist == Dist.DEDICATED_SERVER) {
log.warn("Tag Tooltips is a client side only mod.");
} else {
IEventBus eventBus = MinecraftForge.EVENT_BUS;
- eventBus.addListener(EventPriority.NORMAL, false, ItemTooltipEvent.class, this::onTooltip);
+ eventBus.register(this);
ClientRegistry.registerKeyBinding(showTagsBinding);
}
}
+ private boolean isKeyBindDown(KeyBinding keyBinding) {
+ if (keyBinding.isKeyDown()) return true;
+ InputMappings.Input key = keyBinding.getKey();
+ int keyCode = key.getKeyCode();
+ // GL window handle
+ long handle = Minecraft.getInstance().getMainWindow().getHandle();
+ return InputMappings.isKeyDown(handle, keyCode) && keyBinding.getKeyModifier().isActive(keyBinding.getKeyConflictContext());
+ }
+
+ @SubscribeEvent
+ @OnlyIn(Dist.CLIENT)
public void onTooltip(ItemTooltipEvent event) {
if (event == null) return;
List<ITextComponent> toolTip = event.getToolTip();
- if (!showTagsBinding.isKeyDown()) {
+ if (!isKeyBindDown(showTagsBinding)) {
toolTip.add(new TranslationTextComponent("tooltip.showTags", showTagsBinding.func_238171_j_()));
return;
}
for (ResourceLocation tag : event.getItemStack().getItem().getTags()) {
- toolTip.add(new TranslationTextComponent("tooltip.tag.prefix",new StringTextComponent(tag.toString())));
+ toolTip.add(new TranslationTextComponent("tooltip.tag.prefix", new StringTextComponent(tag.toString())));
}
}
diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml
index e3aba84..16fbddf 100644
--- a/src/main/resources/META-INF/mods.toml
+++ b/src/main/resources/META-INF/mods.toml
@@ -17,6 +17,6 @@ Adds tooltips to items to show the tags that they have.
[[dependencies.tagtooltip]]
modId="minecraft"
mandatory=true
- versionRange="[1.16.1]"
+ versionRange="[1.16,1.17)"
ordering="NONE"
side="CLIENT"