aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-04-13 19:03:53 +0800
committershedaniel <daniel@shedaniel.me>2022-04-13 19:03:53 +0800
commit6397967ecc1d2fba958c9feb59f55eff52d5a5db (patch)
treeb999e9f4708ae30dad6bc72ee0d5f6798fb72c6f /runtime
parent79b8d8d0d9774a6f23579cb5452b44b61437a305 (diff)
downloadRoughlyEnoughItems-6397967ecc1d2fba958c9feb59f55eff52d5a5db.tar.gz
RoughlyEnoughItems-6397967ecc1d2fba958c9feb59f55eff52d5a5db.tar.bz2
RoughlyEnoughItems-6397967ecc1d2fba958c9feb59f55eff52d5a5db.zip
Make ctrl-click transfer not suck that much
Diffstat (limited to 'runtime')
-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 078f46344..2d82a28c8 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
@@ -293,7 +293,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 28f6e2ca5..d9df0215a 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
@@ -71,6 +71,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;
@@ -601,6 +602,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;
@@ -654,6 +656,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)) {
@@ -674,7 +692,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 !",