Skip to content

Commit d6d3c0a

Browse files
author
Circulate233
committed
修复tooltips可能重复出现的问题
1 parent 51630a8 commit d6d3c0a

6 files changed

Lines changed: 18 additions & 27 deletions

File tree

dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ dependencies {
2323
compileOnly(rfg.deobf("curse.maven:modularmachinery-community-edition-817377:7306619"))
2424
implementation(rfg.deobf("curse.maven:extended-crafting-terminals-for-applied-1157825:6895322"))
2525
compileOnly(rfg.deobf("curse.maven:cofh-core-69162:2920433"))
26+
implementation(rfg.deobf("curse.maven:ae2-crafting-tree-legacy-1121489:5814089"))
2627
compileOnly(rfg.deobf("curse.maven:cofh-world-271384:2920434"))
2728
compileOnly(rfg.deobf("curse.maven:thermal-foundation-222880:2926428"))
2829
compileOnly(rfg.deobf("curse.maven:thermal-expansion-69163:2926431"))
@@ -46,7 +47,6 @@ dependencies {
4647
compileOnly(rfg.deobf("curse.maven:draconic-evolution-223565:3431261"))
4748
compileOnly(rfg.deobf("curse.maven:packagedauto-308380:6932932"))
4849
compileOnly(rfg.deobf("curse.maven:ender-utilities-224320:2977010"))
49-
implementation(rfg.deobf("curse.maven:ae2-crafting-tree-legacy-1121489:5814089"))
5050

5151
compileOnly(rfg.deobf("curse.maven:botaniverse-944656:4945200"))
5252
}

src/main/java/com/circulation/random_complement/client/ClientProxy.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@
88
import com.circulation.random_complement.client.handler.RCJEIInputHandler;
99
import com.circulation.random_complement.common.CommonProxy;
1010
import com.circulation.random_complement.common.util.Functions;
11-
import com.circulation.random_complement.mixin.jei.AccessorGhostIngredientDragManager;
1211
import com.circulation.random_complement.mixin.jei.AccessorInputHandler;
1312
import it.unimi.dsi.fastutil.objects.ReferenceArrayList;
1413
import it.unimi.dsi.fastutil.objects.ReferenceList;
1514
import lombok.val;
1615
import mezz.jei.Internal;
17-
import mezz.jei.gui.ghost.GhostIngredientDrag;
16+
import mezz.jei.bookmarks.BookmarkItem;
17+
import mezz.jei.input.IClickedIngredient;
18+
import mezz.jei.input.MouseHelper;
1819
import net.minecraft.client.Minecraft;
1920
import net.minecraft.item.ItemStack;
2021
import net.minecraftforge.common.MinecraftForge;
@@ -41,11 +42,18 @@ public static ItemStack getMouseItem() {
4142

4243
@Optional.Method(modid = "jei")
4344
public static ItemStack getJEIMouseItem() {
44-
GhostIngredientDrag<?> ii = null;
45+
IClickedIngredient<?> ii = null;
4546
if (Internal.getInputHandler() != null) {
46-
ii = ((AccessorGhostIngredientDragManager) ((AccessorInputHandler) Internal.getInputHandler()).getGhostIngredientDragManager()).getGhostIngredientDrag();
47+
ii = ((AccessorInputHandler) Internal.getInputHandler()).invokeGetIngredientUnderMouseForKey(MouseHelper.getX(), MouseHelper.getY());
48+
}
49+
if (ii != null) {
50+
if (ii.getValue() instanceof ItemStack stack) {
51+
return stack;
52+
}
53+
if (ii.getValue() instanceof BookmarkItem<?> book && book.ingredient instanceof ItemStack stack) {
54+
return stack;
55+
}
4756
}
48-
if (ii != null && ii.getIngredient() instanceof ItemStack stack) return stack;
4957
return ItemStack.EMPTY;
5058
}
5159

@@ -101,7 +109,6 @@ public void postInit() {
101109
}
102110

103111
@Override
104-
@Optional.Method(modid = "jei")
105112
public boolean isMouseHasItem() {
106113
return !getMouseItem().isEmpty();
107114
}

src/main/java/com/circulation/random_complement/common/CommonProxy.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import com.circulation.random_complement.common.network.WirelessPickBlock;
1212
import com.circulation.random_complement.common.util.Functions;
1313
import net.minecraftforge.fml.common.Loader;
14-
import net.minecraftforge.fml.common.Optional;
1514
import net.minecraftforge.fml.relauncher.Side;
1615

1716
import static com.circulation.random_complement.RandomComplement.NET_CHANNEL;
@@ -48,7 +47,6 @@ public void postInit() {
4847
if (Loader.isModLoaded("appliedenergistics2")) CraftingUnitHandler.register();
4948
}
5049

51-
@Optional.Method(modid = "jei")
5250
public boolean isMouseHasItem() {
5351
return false;
5452
}

src/main/java/com/circulation/random_complement/mixin/jei/AccessorGhostIngredientDragManager.java

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.circulation.random_complement.mixin.jei;
22

3-
import mezz.jei.gui.ghost.GhostIngredientDragManager;
3+
import mezz.jei.input.IClickedIngredient;
44
import mezz.jei.input.InputHandler;
55
import org.spongepowered.asm.mixin.Mixin;
6-
import org.spongepowered.asm.mixin.gen.Accessor;
6+
import org.spongepowered.asm.mixin.gen.Invoker;
77

88
@Mixin(value = InputHandler.class, remap = false)
99
public interface AccessorInputHandler {
1010

11-
@Accessor
12-
GhostIngredientDragManager getGhostIngredientDragManager();
11+
@Invoker("getIngredientUnderMouseForKey")
12+
IClickedIngredient<?> invokeGetIngredientUnderMouseForKey(int mouseX, int mouseY);
1313
}

src/main/resources/mixins.random_complement.jei.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"MixinInputHandler"
1111
],
1212
"mixins": [
13-
"AccessorGhostIngredientDragManager",
1413
"AccessorIngredientListBatchRenderer",
1514
"AccessorInputHandler",
1615
"AccessorRecipeLayout",

0 commit comments

Comments
 (0)