diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-04-13 19:03:53 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-04-13 19:03:53 +0800 |
| commit | 6397967ecc1d2fba958c9feb59f55eff52d5a5db (patch) | |
| tree | b999e9f4708ae30dad6bc72ee0d5f6798fb72c6f /runtime | |
| parent | 79b8d8d0d9774a6f23579cb5452b44b61437a305 (diff) | |
| download | RoughlyEnoughItems-6397967ecc1d2fba958c9feb59f55eff52d5a5db.tar.gz RoughlyEnoughItems-6397967ecc1d2fba958c9feb59f55eff52d5a5db.tar.bz2 RoughlyEnoughItems-6397967ecc1d2fba958c9feb59f55eff52d5a5db.zip | |
Make ctrl-click transfer not suck that much
Diffstat (limited to 'runtime')
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 !", |
