Skip to content

Commit 51630a8

Browse files
author
Circulate233
committed
Merge remote-tracking branch 'origin/main'
2 parents 283b52c + e91f9ea commit 51630a8

File tree

2 files changed

+48
-24
lines changed

2 files changed

+48
-24
lines changed

src/main/java/com/circulation/random_complement/client/handler/RCInputHandler.java

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -73,26 +73,38 @@ public static boolean work(boolean isMouse) {
7373
for (var kb : KeyBindings.values()) {
7474
switch (kb) {
7575
case QueryInterface -> {
76-
if (kb.getKeyBinding().isActiveAndMatches(eventKey)) {
77-
if (isMouse && !Mouse.isButtonDown(m)) {
78-
return true;
79-
}
80-
if (mc.currentScreen instanceof AccessorGuiCraftingCPU gui) {
81-
int viewStart = gui.invokerGetScrollBar().getCurrentScroll() * 3;
82-
int viewEnd = viewStart + 18;
83-
if (gui.getTooltip() + viewStart < Math.min(viewEnd, gui.getVisual().size())) {
84-
Minecraft.getMinecraft().addScheduledTask(() -> {
85-
if (gui.getTooltip() + viewStart < Math.min(viewEnd, gui.getVisual().size())) {
86-
val item = gui.getVisual().get(gui.getTooltip() + viewStart);
87-
if (item != null)
88-
RandomComplement.NET_CHANNEL.sendToServer(new InterfaceTracing(item));
89-
}
90-
});
91-
return true;
92-
}
93-
}
76+
if (!kb.getKeyBinding().isActiveAndMatches(eventKey)) {
77+
break;
78+
}
79+
80+
// IMPORTANT: don't cancel mouse releases (prevents stuck dragging)
81+
if (isMouse && !Mouse.getEventButtonState()) {
9482
return false;
9583
}
84+
85+
// Only do anything inside the Crafting CPU GUI
86+
if (!(mc.currentScreen instanceof AccessorGuiCraftingCPU gui)) {
87+
return false;
88+
}
89+
90+
int viewStart = gui.invokerGetScrollBar().getCurrentScroll() * 3;
91+
int viewEnd = viewStart + 18;
92+
93+
int idx = gui.getTooltip() + viewStart;
94+
if (idx < Math.min(viewEnd, gui.getVisual().size())) {
95+
Minecraft.getMinecraft().addScheduledTask(() -> {
96+
int idx2 = gui.getTooltip() + gui.invokerGetScrollBar().getCurrentScroll() * 3;
97+
if (idx2 < gui.getVisual().size()) {
98+
val item = gui.getVisual().get(idx2);
99+
if (item != null) {
100+
RandomComplement.NET_CHANNEL.sendToServer(new InterfaceTracing(item));
101+
}
102+
}
103+
});
104+
return true;
105+
}
106+
107+
return false;
96108
}
97109
default -> {
98110
}

src/main/java/com/circulation/random_complement/mixin/ae2/MixinWirelessTerminalGuiObject.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,26 @@ public void loadFromNBT(CallbackInfo ci) {
7070
return false;
7171
}
7272

73-
@Redirect(method = "loadFromNBT", at = @At(value = "INVOKE", target = "Lappeng/tile/inventory/AppEngInternalInventory;readFromNBT(Lnet/minecraft/nbt/NBTTagCompound;)V"), allow = 1)
74-
public void loadViewCell(AppEngInternalInventory instance, NBTTagCompound data) {
75-
instance.readFromNBT(data, "viewCell");
73+
@Redirect(method = "loadFromNBT", at = @At(value = "INVOKE", target = "Lappeng/tile/inventory/AppEngInternalInventory;readFromNBT(Lnet/minecraft/nbt/NBTTagCompound;)V"), require = 1, allow = 1)
74+
private void loadViewCell(AppEngInternalInventory instance, NBTTagCompound data) {
75+
if (data == null) return;
76+
77+
if (data.hasKey("viewCell")) {
78+
instance.readFromNBT(data, "viewCell");
79+
} else {
80+
instance.readFromNBT(data);
81+
}
7682
}
7783

78-
@Redirect(method = "loadFromNBT", at = @At(value = "INVOKE", target = "Lappeng/parts/automation/UpgradeInventory;readFromNBT(Lnet/minecraft/nbt/NBTTagCompound;)V"), allow = 1)
79-
public void loadUpgrade(UpgradeInventory instance, NBTTagCompound data) {
80-
instance.readFromNBT(data, "upgrades");
84+
@Redirect(method = "loadFromNBT", at = @At(value = "INVOKE", target = "Lappeng/parts/automation/UpgradeInventory;readFromNBT(Lnet/minecraft/nbt/NBTTagCompound;)V"), require = 1, allow = 1)
85+
private void loadUpgrade(UpgradeInventory instance, NBTTagCompound data) {
86+
if (data == null) return;
87+
88+
if (data.hasKey("upgrades")) {
89+
instance.readFromNBT(data, "upgrades");
90+
} else {
91+
instance.readFromNBT(data);
92+
}
8193
}
8294

8395
@Inject(method = "loadFromNBT", at = @At("TAIL"))

0 commit comments

Comments
 (0)