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