aboutsummaryrefslogtreecommitdiff
path: root/runtime/src
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2023-07-17 02:14:25 +0800
committershedaniel <daniel@shedaniel.me>2024-04-16 00:38:18 +0900
commit15ede82cd7a0a7d83efa05064215b0d7c174dee8 (patch)
tree14f13ac8f33f664be3100a5fc3088d771384b7a1 /runtime/src
parent5aaae0c437971008678afb44474f0d43bdad9783 (diff)
downloadRoughlyEnoughItems-15ede82cd7a0a7d83efa05064215b0d7c174dee8.tar.gz
RoughlyEnoughItems-15ede82cd7a0a7d83efa05064215b0d7c174dee8.tar.bz2
RoughlyEnoughItems-15ede82cd7a0a7d83efa05064215b0d7c174dee8.zip
Allow quick crafting for miniature displays
Diffstat (limited to 'runtime/src')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
index ade1addce..06814a172 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
@@ -41,6 +41,7 @@ import me.shedaniel.rei.api.client.gui.config.RecipeBorderType;
import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponent;
import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentProviderWidget;
import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentVisitorWidget;
+import me.shedaniel.rei.api.client.gui.screen.DisplayScreen;
import me.shedaniel.rei.api.client.gui.widgets.*;
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.client.registry.category.CategoryRegistry;
@@ -66,6 +67,7 @@ import me.shedaniel.rei.impl.client.ClientHelperImpl;
import me.shedaniel.rei.impl.client.REIRuntimeImpl;
import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl;
import me.shedaniel.rei.impl.client.gui.screen.DefaultDisplayViewingScreen;
+import me.shedaniel.rei.impl.client.gui.widget.AutoCraftingEvaluator;
import me.shedaniel.rei.impl.client.gui.widget.DisplayCompositeWidget;
import me.shedaniel.rei.impl.client.gui.widget.DisplayTooltipComponent;
import me.shedaniel.rei.impl.client.gui.widget.favorites.FavoritesListWidget;
@@ -78,10 +80,13 @@ import me.shedaniel.rei.impl.common.util.HNEntryStackWrapper;
import me.shedaniel.rei.plugin.autocrafting.DefaultCategoryHandler;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
+import net.minecraft.ChatFormatting;
+import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
+import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
@@ -383,6 +388,7 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
public Tooltip getTooltip(TooltipContext context) {
Tooltip tooltip = Tooltip.create(context.getPoint());
tooltip.add((ClientTooltipComponent) tooltipComponent.get());
+ tooltip.add(new TranslatableComponent("text.auto_craft.move_items.tooltip").withStyle(ChatFormatting.YELLOW));
return tooltip;
}
};
@@ -390,10 +396,16 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
@Override
public boolean doAction(int button) {
+ Widgets.produceClickSound();
+
+ if (!(Minecraft.getInstance().screen instanceof DisplayScreen) && Screen.hasControlDown()) {
+ AutoCraftingEvaluator.evaluateAutoCrafting(true, Screen.hasShiftDown(), display, Collections::emptyList);
+ return true;
+ }
+
ClientHelperImpl.getInstance()
.openDisplayViewingScreen(Map.of(CategoryRegistry.getInstance().get(display.getCategoryIdentifier()).getCategory(), List.of(display)),
null, List.of(), List.of());
- Widgets.produceClickSound();
return true;
}