aboutsummaryrefslogtreecommitdiff
path: root/runtime/src
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-04-13 19:03:53 +0800
committershedaniel <daniel@shedaniel.me>2022-04-13 23:44:38 +0800
commitb24ea09043e5bf9d7c33d2f8dd2c5ef9f7d72da8 (patch)
treeb0a511ec928f95f63d29dc177abed61861a9802c /runtime/src
parent7584809f2db150d7f9bf2fdbbebc0891cad812bb (diff)
downloadRoughlyEnoughItems-b24ea09043e5bf9d7c33d2f8dd2c5ef9f7d72da8.tar.gz
RoughlyEnoughItems-b24ea09043e5bf9d7c33d2f8dd2c5ef9f7d72da8.tar.bz2
RoughlyEnoughItems-b24ea09043e5bf9d7c33d2f8dd2c5ef9f7d72da8.zip
Make ctrl-click transfer not suck that much
Diffstat (limited to 'runtime/src')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java20
-rw-r--r--runtime/src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json2
3 files changed, 21 insertions, 3 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
index a46dad2d2..6cc8e971b 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
@@ -292,7 +292,7 @@ public class ConfigManagerImpl implements ConfigManager {
@Override
public boolean isCraftableOnlyEnabled() {
- return craftableOnly;
+ return craftableOnly && getConfig().isCraftableFilterEnabled();
}
@Override
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
index 2b7b270e2..a23adc6b5 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
@@ -70,6 +70,7 @@ import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl;
import me.shedaniel.rei.impl.client.search.AsyncSearchManager;
import me.shedaniel.rei.impl.client.view.ViewsImpl;
import net.minecraft.ChatFormatting;
+import net.minecraft.Util;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
@@ -600,6 +601,7 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg
}
private class EntryListEntry extends EntryListEntryWidget {
+ private long lastCheckTime = -1;
private Display display;
private EntryStack<?> our;
private NumberAnimator<Double> size = null;
@@ -653,6 +655,22 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg
return null;
}
+ if (display != null) {
+ if (ViewsImpl.isRecipesFor(getEntries(), display)) {
+ AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null);
+ if (result.successful) {
+ return result.successfulHandler;
+ }
+ }
+
+ display = null;
+ lastCheckTime = -1;
+ }
+
+ if (lastCheckTime != -1 && Util.getMillis() - lastCheckTime < 100) {
+ return null;
+ }
+
for (List<Display> displays : DisplayRegistry.getInstance().getAll().values()) {
for (Display display : displays) {
if (ViewsImpl.isRecipesFor(getEntries(), display)) {
@@ -673,7 +691,7 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg
public Tooltip getCurrentTooltip(Point point) {
Tooltip tooltip = super.getCurrentTooltip(point);
- if (tooltip != null && getTransferHandler() != null) {
+ if (tooltip != null && !ClientHelper.getInstance().isCheating() && getTransferHandler() != null) {
tooltip.add(new TranslatableComponent("text.auto_craft.move_items.tooltip").withStyle(ChatFormatting.YELLOW));
}
diff --git a/runtime/src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json b/runtime/src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json
index c9b4a18ef..d035ae78a 100644
--- a/runtime/src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json
+++ b/runtime/src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json
@@ -76,7 +76,7 @@
"ordering.rei.name": "名稱",
"ordering.rei.item_groups": "物品分類",
"text.auto_craft.move_items": "移動物品",
- "text.auto_craft.move_items.tooltip": "按住《Shift》鍵再點擊此處以移動物品",
+ "text.auto_craft.move_items.tooltip": "按住《Ctrl》鍵再點擊此處以移動物品",
"text.auto_craft.move_items.yog": "發生異常無效指標 !!",
"error.rei.transfer.too_small": "無法將物品移動至 %dx%d 的合成格!",
"error.rei.not.on.server": "伺服器未安裝 REI !",