aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java1
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java1
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java17
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java14
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java16
5 files changed, 22 insertions, 27 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 497b4e391..ee6bbeae1 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -72,7 +72,6 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali
return Optional.empty();
}
- @SuppressWarnings("deprecation")
@Override
public void onInitializeClient() {
configManager = new ConfigManager();
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index 660fa8709..252d41a81 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -6,7 +6,6 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.RecipeDisplay;
import me.shedaniel.rei.api.RecipeHelper;
-import me.shedaniel.rei.gui.ContainerScreenOverlay;
import me.shedaniel.rei.gui.RecipeViewingScreen;
import me.shedaniel.rei.gui.config.ConfigScreen;
import net.fabricmc.api.ClientModInitializer;
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index b295039a7..43c199fde 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -395,21 +395,8 @@ public class ContainerScreenOverlay extends ScreenComponent {
return false;
Point point = ClientHelper.getMouseLocation();
ItemStack itemStack = null;
- for(IWidget widget : itemListOverlay.getListeners())
- if (widget instanceof ItemSlotWidget && ((ItemSlotWidget) widget).isHighlighted(point.x, point.y)) {
- itemStack = ((ItemSlotWidget) widget).getCurrentStack();
- break;
- }
- if (itemStack == null && MinecraftClient.getInstance().currentScreen instanceof RecipeViewingScreen) {
- RecipeViewingScreen recipeViewingWidget = (RecipeViewingScreen) MinecraftClient.getInstance().currentScreen;
- for(IWidget widget : recipeViewingWidget.getWidgets())
- if (widget instanceof ItemSlotWidget && ((HighlightableWidget) widget).isHighlighted(point.x, point.y)) {
- itemStack = ((ItemSlotWidget) widget).getCurrentStack();
- break;
- }
- }
- if (itemStack == null && MinecraftClient.getInstance().currentScreen instanceof ContainerScreen)
- if (ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot() != null)
+ if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen)
+ if (ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot() != null && !ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack().isEmpty())
itemStack = ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack();
if (itemStack != null && !itemStack.isEmpty()) {
if (ClientHelper.RECIPE.matchesKey(int_1, int_2))
diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
index 32a9455a4..e3bf000fd 100644
--- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
@@ -32,18 +32,18 @@ public class RecipeViewingScreen extends Screen {
public static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
public static final Color SUB_COLOR = new Color(159, 159, 159);
private static final Identifier CREATIVE_INVENTORY_TABS = new Identifier("textures/gui/container/creative_inventory/tabs.png");
+ private final List<IWidget> widgets;
+ private final List<TabWidget> tabs;
+ private final Map<RecipeCategory, List<RecipeDisplay>> categoriesMap;
+ private final List<RecipeCategory> categories;
public int guiWidth;
public int guiHeight;
public int page, categoryPages;
public int largestWidth, largestHeight;
public boolean choosePageActivated;
public RecipeChoosePageWidget recipeChoosePageWidget;
- private List<IWidget> widgets;
- private List<TabWidget> tabs;
private Window window;
private Rectangle bounds;
- private Map<RecipeCategory, List<RecipeDisplay>> categoriesMap;
- private List<RecipeCategory> categories;
private RecipeCategory selectedCategory;
private ButtonWidget recipeBack, recipeNext, categoryBack, categoryNext;
@@ -102,8 +102,9 @@ public class RecipeViewingScreen extends Screen {
@Override
public void onInitialized() {
super.onInitialized();
+ this.listeners.clear();
this.tabs.clear();
- this.widgets = Lists.newLinkedList();
+ this.widgets.clear();
this.largestWidth = window.getScaledWidth() - 100;
this.largestHeight = window.getScaledHeight() - 40;
this.guiWidth = MathHelper.clamp(getCurrentDisplayed().stream().map(display -> selectedCategory.getDisplayWidth(display)).max(Integer::compareTo).orElse(150) + 30, 0, largestWidth);
@@ -232,9 +233,8 @@ public class RecipeViewingScreen extends Screen {
else
recipeChoosePageWidget = null;
- ScreenHelper.getLastOverlay().onInitialized();
listeners.addAll(tabs);
- listeners.add(ScreenHelper.getLastOverlay());
+ listeners.add(ScreenHelper.getLastOverlay(true));
listeners.addAll(widgets);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
index d68740d1f..65d43e017 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -130,13 +130,23 @@ public class ItemSlotWidget extends DrawableHelper implements HighlightableWidge
public boolean onMouseClick(int button, double mouseX, double mouseY) {
if (!clickToMoreRecipes)
return false;
- if (getBounds().contains(mouseX, mouseY)) {
- System.out.println(ItemListOverlay.tryGetItemStackName(getCurrentStack()));
+ if (getBounds().contains(mouseX, mouseY))
if (button == 0)
return ClientHelper.executeRecipeKeyBind(getCurrentStack().copy());
else if (button == 1)
return ClientHelper.executeUsageKeyBind(getCurrentStack().copy());
- }
+ return false;
+ }
+
+ @Override
+ public boolean keyPressed(int int_1, int int_2, int int_3) {
+ if (!clickToMoreRecipes)
+ return false;
+ if (getBounds().contains(ClientHelper.getMouseLocation()))
+ if (ClientHelper.RECIPE.matchesKey(int_1, int_2))
+ return ClientHelper.executeRecipeKeyBind(getCurrentStack().copy());
+ else if (ClientHelper.USAGE.matchesKey(int_1, int_2))
+ return ClientHelper.executeUsageKeyBind(getCurrentStack());
return false;
}