Skip to content

Commit 20955d3

Browse files
committed
现在支持ctrl下单的范围被拓展到整个JEI而不是只有书签
1 parent fa355ac commit 20955d3

File tree

2 files changed

+7
-18
lines changed

2 files changed

+7
-18
lines changed

src/main/java/com/circulation/random_complement/mixin/ae2/jei/MixinInputHandler.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
3434
import org.lwjgl.input.Keyboard;
3535
import org.lwjgl.input.Mouse;
36-
import org.spongepowered.asm.mixin.Final;
3736
import org.spongepowered.asm.mixin.Mixin;
3837
import org.spongepowered.asm.mixin.Shadow;
3938
import org.spongepowered.asm.mixin.Unique;
@@ -46,22 +45,14 @@
4645
@Mixin(value = InputHandler.class, remap = false)
4746
public abstract class MixinInputHandler {
4847

49-
@Shadow
50-
@Final
51-
private LeftAreaDispatcher leftAreaDispatcher;
52-
53-
@Shadow
54-
@Final
55-
private GhostIngredientDragManager ghostIngredientDragManager;
56-
5748
@Shadow
5849
@Nullable
5950
protected abstract IClickedIngredient<?> getFocusUnderMouseForClick(int mouseX, int mouseY);
6051

6152
@Inject(method = "<init>", at = @At("TAIL"))
6253
public void onInit(JeiRuntime runtime, IngredientRegistry ingredientRegistry, IngredientListOverlay ingredientListOverlay, GuiScreenHelper guiScreenHelper, LeftAreaDispatcher leftAreaDispatcher, BookmarkList bookmarkList, GhostIngredientDragManager ghostIngredientDragManager, CallbackInfo ci) {
6354
ItemTooltipHandler.regItemTooltip(GuiScreen.class, () -> {
64-
val ing = leftAreaDispatcher.getIngredientUnderMouse(MouseHelper.getX(), MouseHelper.getY());
55+
val ing = getFocusUnderMouseForClick(MouseHelper.getX(), MouseHelper.getY());
6556
if (ing == null) return ObjectLists.emptyList();
6657
return KeyBindings.getTooltipList();
6758
});
@@ -113,7 +104,7 @@ public void onInit(JeiRuntime runtime, IngredientRegistry ingredientRegistry, In
113104
var k = kb.getKeyBinding();
114105
if (k.isActiveAndMatches(eventKey)) {
115106
if (kb.isNeedItem()) {
116-
var ing = leftAreaDispatcher.getIngredientUnderMouse(MouseHelper.getX(), MouseHelper.getY());
107+
var ing = getFocusUnderMouseForClick(MouseHelper.getX(), MouseHelper.getY());
117108
if (ing == null) return false;
118109
if (isMouse && !Mouse.isButtonDown(m)) {
119110
return true;
@@ -122,7 +113,7 @@ public void onInit(JeiRuntime runtime, IngredientRegistry ingredientRegistry, In
122113
if (ing.getValue() instanceof BookmarkItem<?> book) {
123114
item = MEHandler.packItem(book.ingredient);
124115
} else {
125-
item = MEHandler.packItem(ing);
116+
item = MEHandler.packItem(ing.getValue());
126117
}
127118
if (item.isEmpty()) return false;
128119
final var oldGui = Minecraft.getMinecraft().currentScreen;

src/main/java/com/circulation/random_complement/mixin/ae2/miss_craft/MixinCraftingJob.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
import com.circulation.random_complement.common.interfaces.AEIgnoredInputMachine;
1010
import com.circulation.random_complement.common.interfaces.RCCraftingJob;
1111
import com.circulation.random_complement.mixin.ae2.AccessorCraftingTreeNode;
12-
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
13-
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
12+
import com.llamalad7.mixinextras.sugar.Local;
1413
import com.llamalad7.mixinextras.sugar.Share;
1514
import com.llamalad7.mixinextras.sugar.ref.LocalLongRef;
1615
import net.minecraft.world.World;
@@ -49,16 +48,15 @@ public abstract class MixinCraftingJob implements RCCraftingJob {
4948
@Unique
5049
private boolean r$specialDeficiency;
5150

52-
@WrapOperation(method = "run", at = @At(value = "INVOKE", target = "Lappeng/crafting/MECraftingInventory;ignore(Lappeng/api/storage/data/IAEItemStack;)V", ordinal = 0))
53-
public void record(MECraftingInventory instance, IAEItemStack what, Operation<Void> original, @Share("rcOutput") LocalLongRef stackLocalRef) {
51+
@Inject(method = "run", at = @At(value = "INVOKE", target = "Lappeng/crafting/MECraftingInventory;ignore(Lappeng/api/storage/data/IAEItemStack;)V", ordinal = 0, shift = At.Shift.BEFORE))
52+
public void record(CallbackInfo ci, @Share("rcOutput") LocalLongRef stackLocalRef, @Local(name = "craftingInventory") MECraftingInventory craftingInventory) {
5453
if (canIgnoredInput()) {
55-
var stack = instance.getItemList().findPrecise(what);
54+
var stack = craftingInventory.getItemList().findPrecise(this.output);
5655
if (stack != null) {
5756
var size = stack.getStackSize();
5857
stackLocalRef.set(size);
5958
} else stackLocalRef.set(0);
6059
}
61-
original.call(instance, what);
6260
}
6361

6462
@Intrinsic

0 commit comments

Comments
 (0)