diff options
author | Roman Gräf <romangraef@loves.dicksinhisan.us> | 2020-08-19 13:52:39 +0200 |
---|---|---|
committer | Roman Gräf <romangraef@loves.dicksinhisan.us> | 2020-08-19 13:52:39 +0200 |
commit | b43c9d110af46c29f5677e7640c543a6d8d48869 (patch) | |
tree | 642abd194f44b573d6c1b7cca73b64e40cc7d913 /src/main | |
parent | c385807c59d7d8900226937b58aef552782dcc19 (diff) | |
download | tagtooltip-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.java | 21 | ||||
-rw-r--r-- | src/main/resources/META-INF/mods.toml | 2 |
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" |