aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java6
-rw-r--r--src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/ClientHelper.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/ConfigObject.java6
-rw-r--r--src/main/java/me/shedaniel/rei/api/DisplayHelper.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/Entry.java4
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeCategory.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeHelper.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java195
-rw-r--r--src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/AutoCraftingButtonWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java (renamed from src/main/java/me/shedaniel/rei/gui/widget/EntryListOverlay.java)161
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotBaseWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java28
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/BaseBoundsHandlerImpl.java (renamed from src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java (renamed from src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java (renamed from src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java (renamed from src/main/java/me/shedaniel/rei/client/ConfigObjectImpl.java)14
-rw-r--r--src/main/java/me/shedaniel/rei/impl/DisplayHelperImpl.java (renamed from src/main/java/me/shedaniel/rei/client/DisplayHelperImpl.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/EntryRegistryImpl.java (renamed from src/main/java/me/shedaniel/rei/client/EntryRegistryImpl.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/FluidEntry.java (renamed from src/main/java/me/shedaniel/rei/client/FluidEntry.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ItemStackEntry.java (renamed from src/main/java/me/shedaniel/rei/client/ItemStackEntry.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java (renamed from src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ScreenHelper.java (renamed from src/main/java/me/shedaniel/rei/client/ScreenHelper.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/SearchArgument.java (renamed from src/main/java/me/shedaniel/rei/client/SearchArgument.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/Weather.java (renamed from src/main/java/me/shedaniel/rei/client/Weather.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java60
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoBlastingBookHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoCraftingTableBookHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoFurnaceBookHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoInventoryBookHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoSmokerBookHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java2
44 files changed, 355 insertions, 197 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index b5e259553..4d57b3242 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -11,9 +11,9 @@ import me.shedaniel.cloth.api.ClientUtils;
import me.shedaniel.cloth.hooks.ClothClientHooks;
import me.shedaniel.rei.api.*;
import me.shedaniel.rei.api.plugins.REIPluginV0;
-import me.shedaniel.rei.client.*;
+import me.shedaniel.rei.impl.*;
import me.shedaniel.rei.gui.ContainerScreenOverlay;
-import me.shedaniel.rei.gui.widget.EntryListOverlay;
+import me.shedaniel.rei.gui.widget.EntryListWidget;
import me.shedaniel.rei.listeners.RecipeBookButtonWidgetHooks;
import me.shedaniel.rei.listeners.RecipeBookGuiHooks;
import net.fabricmc.api.ClientModInitializer;
@@ -143,7 +143,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
ClientSidePacketRegistry.INSTANCE.register(RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, (packetContext, packetByteBuf) -> {
ItemStack stack = packetByteBuf.readItemStack();
String player = packetByteBuf.readString(32767);
- packetContext.getPlayer().addChatMessage(new LiteralText(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", EntryListOverlay.tryGetItemStackName(stack.copy())).replaceAll("\\{item_count}", stack.copy().getCount() + "").replaceAll("\\{player_name}", player)), false);
+ packetContext.getPlayer().addChatMessage(new LiteralText(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", EntryListWidget.tryGetItemStackName(stack.copy())).replaceAll("\\{item_count}", stack.copy().getCount() + "").replaceAll("\\{player_name}", player)), false);
});
ClientSidePacketRegistry.INSTANCE.register(RoughlyEnoughItemsNetwork.NOT_ENOUGH_ITEMS_PACKET, (packetContext, packetByteBuf) -> {
Screen currentScreen = MinecraftClient.getInstance().currentScreen;
diff --git a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java
index a328c16c8..c0eaa26e6 100644
--- a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java
+++ b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java
@@ -7,7 +7,7 @@ package me.shedaniel.rei.api;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList;
-import me.shedaniel.rei.client.ScreenHelper;
+import me.shedaniel.rei.impl.ScreenHelper;
import me.shedaniel.rei.gui.ContainerScreenOverlay;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
diff --git a/src/main/java/me/shedaniel/rei/api/ClientHelper.java b/src/main/java/me/shedaniel/rei/api/ClientHelper.java
index 7b6c8b0e7..68b8f2e0d 100644
--- a/src/main/java/me/shedaniel/rei/api/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/ClientHelper.java
@@ -5,7 +5,7 @@
package me.shedaniel.rei.api;
-import me.shedaniel.rei.client.ClientHelperImpl;
+import me.shedaniel.rei.impl.ClientHelperImpl;
import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/me/shedaniel/rei/api/ConfigObject.java b/src/main/java/me/shedaniel/rei/api/ConfigObject.java
index de6911c96..b9519132a 100644
--- a/src/main/java/me/shedaniel/rei/api/ConfigObject.java
+++ b/src/main/java/me/shedaniel/rei/api/ConfigObject.java
@@ -9,16 +9,18 @@ public interface ConfigObject {
ConfigNode getConfigNode();
- void setCheating(boolean cheating);
-
boolean isCheating();
+ void setCheating(boolean cheating);
+
ItemListOrdering getItemListOrdering();
boolean isItemListAscending();
boolean isUsingDarkTheme();
+ boolean isEntryListWidgetScrolled();
+
boolean shouldAppendModNames();
RecipeScreenType getRecipeScreenType();
diff --git a/src/main/java/me/shedaniel/rei/api/DisplayHelper.java b/src/main/java/me/shedaniel/rei/api/DisplayHelper.java
index 8b745f846..2d8fc5991 100644
--- a/src/main/java/me/shedaniel/rei/api/DisplayHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/DisplayHelper.java
@@ -112,7 +112,7 @@ public interface DisplayHelper {
* @return the item list bounds
*/
default Rectangle getItemListArea(Rectangle rectangle) {
- return new Rectangle(rectangle.x + 2, rectangle.y + 24, rectangle.width - 4, rectangle.height - (RoughlyEnoughItemsCore.getConfigManager().getConfig().isSideSearchField() ? 27 + 22 : 27));
+ return new Rectangle(rectangle.x + 1, rectangle.y + 2 + (RoughlyEnoughItemsCore.getConfigManager().getConfig().isEntryListWidgetScrolled() ? 0 : 22), rectangle.width - 2, rectangle.height - (RoughlyEnoughItemsCore.getConfigManager().getConfig().isSideSearchField() ? 27 + 22 : 27) + (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isEntryListWidgetScrolled() ? 0 : 22));
}
/**
diff --git a/src/main/java/me/shedaniel/rei/api/Entry.java b/src/main/java/me/shedaniel/rei/api/Entry.java
index 148c0c242..e38fc4835 100644
--- a/src/main/java/me/shedaniel/rei/api/Entry.java
+++ b/src/main/java/me/shedaniel/rei/api/Entry.java
@@ -1,7 +1,7 @@
package me.shedaniel.rei.api;
-import me.shedaniel.rei.client.FluidEntry;
-import me.shedaniel.rei.client.ItemStackEntry;
+import me.shedaniel.rei.impl.FluidEntry;
+import me.shedaniel.rei.impl.ItemStackEntry;
import net.minecraft.fluid.Fluid;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
index 5204fcbc8..1e71d7c00 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
@@ -5,7 +5,7 @@
package me.shedaniel.rei.api;
-import me.shedaniel.rei.client.ScreenHelper;
+import me.shedaniel.rei.impl.ScreenHelper;
import me.shedaniel.rei.gui.RecipeViewingScreen;
import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.CategoryBaseWidget;
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
index 9deec1c0e..b0a02f1ba 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
@@ -22,7 +22,7 @@ import java.util.function.Predicate;
public interface RecipeHelper {
/**
- * @return the api instance of {@link me.shedaniel.rei.client.RecipeHelperImpl}
+ * @return the api instance of {@link me.shedaniel.rei.impl.RecipeHelperImpl}
*/
static RecipeHelper getInstance() {
return RoughlyEnoughItemsCore.getRecipeHelper();
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index d81871eca..cf302aa9e 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -8,15 +8,16 @@ package me.shedaniel.rei.gui;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.cloth.api.ClientUtils;
+import me.shedaniel.clothconfig2.api.MouseUtils;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.DisplayHelper;
import me.shedaniel.rei.api.Entry;
import me.shedaniel.rei.api.RecipeHelper;
-import me.shedaniel.rei.client.RecipeHelperImpl;
-import me.shedaniel.rei.client.ScreenHelper;
-import me.shedaniel.rei.client.Weather;
import me.shedaniel.rei.gui.widget.*;
+import me.shedaniel.rei.impl.RecipeHelperImpl;
+import me.shedaniel.rei.impl.ScreenHelper;
+import me.shedaniel.rei.impl.Weather;
import me.shedaniel.rei.listeners.ContainerScreenHooks;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
@@ -48,7 +49,7 @@ public class ContainerScreenOverlay extends Widget {
private static final List<QueuedTooltip> QUEUED_TOOLTIPS = Lists.newArrayList();
public static String searchTerm = "";
private static int page = 0;
- private static EntryListOverlay entryListOverlay;
+ private static EntryListWidget entryListWidget;
private final List<Widget> widgets = Lists.newLinkedList();
public boolean shouldReInit = false;
private Rectangle rectangle;
@@ -56,8 +57,12 @@ public class ContainerScreenOverlay extends Widget {
private CraftableToggleButtonWidget toggleButtonWidget;
private ButtonWidget buttonLeft, buttonRight;
- public static EntryListOverlay getEntryListOverlay() {
- return entryListOverlay;
+ public static EntryListWidget getEntryListWidget() {
+ return entryListWidget;
+ }
+
+ public static void setPage(int page) {
+ ContainerScreenOverlay.page = page;
}
public void init() {
@@ -71,47 +76,49 @@ public class ContainerScreenOverlay extends Widget {
this.window = MinecraftClient.getInstance().window;
DisplayHelper.DisplayBoundsHandler boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
this.rectangle = RoughlyEnoughItemsCore.getConfigManager().getConfig().isLeftHandSidePanel() ? boundsHandler.getLeftBounds(MinecraftClient.getInstance().currentScreen) : boundsHandler.getRightBounds(MinecraftClient.getInstance().currentScreen);
- widgets.add(entryListOverlay = new EntryListOverlay(page));
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
+ widgets.add(entryListWidget = new EntryListWidget(page));
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
- widgets.add(buttonLeft = new ButtonWidget(rectangle.x, rectangle.y + 5, 16, 16, new TranslatableText("text.rei.left_arrow")) {
- @Override
- public void onPressed() {
- page--;
- if (page < 0)
- page = getTotalPage();
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
- }
-
- @Override
- public Optional<String> getTooltips() {
- return Optional.ofNullable(I18n.translate("text.rei.previous_page"));
- }
-
- @Override
- public boolean changeFocus(boolean boolean_1) {
- return false;
- }
- });
- widgets.add(buttonRight = new ButtonWidget(rectangle.x + rectangle.width - 18, rectangle.y + 5, 16, 16, new TranslatableText("text.rei.right_arrow")) {
- @Override
- public void onPressed() {
- page++;
- if (page > getTotalPage())
- page = 0;
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
- }
-
- @Override
- public Optional<String> getTooltips() {
- return Optional.ofNullable(I18n.translate("text.rei.next_page"));
- }
-
- @Override
- public boolean changeFocus(boolean boolean_1) {
- return false;
- }
- });
+ if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isEntryListWidgetScrolled()) {
+ widgets.add(buttonLeft = new ButtonWidget(rectangle.x, rectangle.y + 5, 16, 16, new TranslatableText("text.rei.left_arrow")) {
+ @Override
+ public void onPressed() {
+ page--;
+ if (page < 0)
+ page = getTotalPage();
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
+ }
+
+ @Override
+ public Optional<String> getTooltips() {
+ return Optional.ofNullable(I18n.translate("text.rei.previous_page"));
+ }
+
+ @Override
+ public boolean changeFocus(boolean boolean_1) {
+ return false;
+ }
+ });
+ widgets.add(buttonRight = new ButtonWidget(rectangle.x + rectangle.width - 18, rectangle.y + 5, 16, 16, new TranslatableText("text.rei.right_arrow")) {
+ @Override
+ public void onPressed() {
+ page++;
+ if (page > getTotalPage())
+ page = 0;
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
+ }
+
+ @Override
+ public Optional<String> getTooltips() {
+ return Optional.ofNullable(I18n.translate("text.rei.next_page"));
+ }
+
+ @Override
+ public boolean changeFocus(boolean boolean_1) {
+ return false;
+ }
+ });
+ }
if (setPage)
page = MathHelper.clamp(page, 0, getTotalPage());
@@ -214,32 +221,34 @@ public class ContainerScreenOverlay extends Widget {
xxx += RoughlyEnoughItemsCore.getConfigManager().getConfig().isLeftHandSidePanel() ? -25 : 25;
}
}
- widgets.add(new ClickableLabelWidget(rectangle.x + (rectangle.width / 2), rectangle.y + 10, "", getTotalPage() > 0) {
- @Override
- public void render(int mouseX, int mouseY, float delta) {
- page = MathHelper.clamp(page, 0, getTotalPage());
- this.text = String.format("%s/%s", page + 1, getTotalPage() + 1);
- super.render(mouseX, mouseY, delta);
- }
-
- @Override
- public Optional<String> getTooltips() {
- return Optional.ofNullable(I18n.translate("text.rei.go_back_first_page"));
- }
-
- @Override
- public void onLabelClicked() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- page = 0;
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
- }
-
- @Override
- public boolean changeFocus(boolean boolean_1) {
- return false;
- }
- });
- buttonLeft.enabled = buttonRight.enabled = getTotalPage() > 0;
+ if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isEntryListWidgetScrolled()) {
+ widgets.add(new ClickableLabelWidget(rectangle.x + (rectangle.width / 2), rectangle.y + 10, "", getTotalPage() > 0) {
+ @Override
+ public void render(int mouseX, int mouseY, float delta) {
+ page = MathHelper.clamp(page, 0, getTotalPage());
+ this.text = String.format("%s/%s", page + 1, getTotalPage() + 1);
+ super.render(mouseX, mouseY, delta);
+ }
+
+ @Override
+ public Optional<String> getTooltips() {
+ return Optional.ofNullable(I18n.translate("text.rei.go_back_first_page"));
+ }
+
+ @Override
+ public void onLabelClicked() {
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ page = 0;
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
+ }
+
+ @Override
+ public boolean changeFocus(boolean boolean_1) {
+ return false;
+ }
+ });
+ buttonLeft.enabled = buttonRight.enabled = getTotalPage() > 0;
+ }
if (ScreenHelper.searchField == null)
ScreenHelper.searchField = new SearchFieldWidget(0, 0, 0, 0);
ScreenHelper.searchField.getBounds().setBounds(getTextFieldArea());
@@ -247,14 +256,14 @@ public class ContainerScreenOverlay extends Widget {
ScreenHelper.searchField.setText(searchTerm);
ScreenHelper.searchField.setChangedListener(s -> {
searchTerm = s;
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
});
if (RoughlyEnoughItemsCore.getConfigManager().getConfig().isCraftableFilterEnabled())
this.widgets.add(toggleButtonWidget = new CraftableToggleButtonWidget(getCraftableToggleArea()) {
@Override
public void onPressed() {
RoughlyEnoughItemsCore.getConfigManager().toggleCraftableOnly();
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
@Override
@@ -265,7 +274,7 @@ public class ContainerScreenOverlay extends Widget {
});
else
toggleButtonWidget = null;
- this.entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
+ this.entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
private Weather getNextWeather() {
@@ -357,7 +366,7 @@ public class ContainerScreenOverlay extends Widget {
else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && ((currentStacks.size() != ScreenHelper.inventoryStacks.size()) || !hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks))) {
ScreenHelper.inventoryStacks = currentStacks;
DisplayHelper.DisplayBoundsHandler<?> boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
- entryListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
+ entryListWidget.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
if (SearchFieldWidget.isSearching) {
GuiLighting.disable();
@@ -366,7 +375,7 @@ public class ContainerScreenOverlay extends Widget {
ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
int left = hooks.rei_getContainerLeft(), top = hooks.rei_getContainerTop();
for (Slot slot : ((AbstractContainerScreen<?>) MinecraftClient.getInstance().currentScreen).getContainer().slotList)
- if (!slot.hasStack() || !entryListOverlay.filterEntry(Entry.create(slot.getStack()), entryListOverlay.getLastSearchArgument()))
+ if (!slot.hasStack() || !entryListWidget.filterEntry(Entry.create(slot.getStack()), entryListWidget.getLastSearchArgument()))
fillGradient(left + slot.xPosition, top + slot.yPosition, left + slot.xPosition + 16, top + slot.yPosition + 16, -601874400, -601874400);
}
blitOffset = 0;
@@ -453,7 +462,8 @@ public class ContainerScreenOverlay extends Widget {
public void renderWidgets(int int_1, int int_2, float float_1) {
if (!ScreenHelper.isOverlayVisible())
return;
- buttonLeft.enabled = buttonRight.enabled = getTotalPage() > 0;
+ if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isEntryListWidgetScrolled())
+ buttonLeft.enabled = buttonRight.enabled = getTotalPage() > 0;
widgets.forEach(widget -> {
GuiLighting.disable();
widget.render(int_1, int_2, float_1);
@@ -462,7 +472,7 @@ public class ContainerScreenOverlay extends Widget {
}
private int getTotalPage() {
- return entryListOverlay.getTotalPage();
+ return entryListWidget.getTotalPage();
}
@Override
@@ -470,13 +480,17 @@ public class ContainerScreenOverlay extends Widget {
if (!ScreenHelper.isOverlayVisible())
return false;
if (isInside(ClientUtils.getMouseLocation())) {
- if (amount > 0 && buttonLeft.enabled)
- buttonLeft.onPressed();
- else if (amount < 0 && buttonRight.enabled)
- buttonRight.onPressed();
- else
- return false;
- return true;
+ if (!RoughlyEnoughItemsCore.getConfigManager().getConfig().isEntryListWidgetScrolled()) {
+ if (amount > 0 && buttonLeft.enabled)
+ buttonLeft.onPressed();
+ else if (amount < 0 && buttonRight.enabled)
+ buttonRight.onPressed();
+ else
+ return false;
+ return true;
+ } else {
+ return entryListWidget.mouseScrolled(i, j, amount);
+ }
}
for (Widget widget : widgets)
if (widget.mouseScrolled(i, j, amount))
@@ -486,7 +500,7 @@ public class ContainerScreenOverlay extends Widget {
@Override
public boolean keyPressed(int int_1, int int_2, int int_3) {
- if (ScreenHelper.isOverlayVisible())
+ if (ScreenHelper.isOverlayVisible() && isInside(MouseUtils.getMouseLocation()))
for (Element listener : widgets)
if (listener.keyPressed(int_1, int_2, int_3))
return true;
@@ -518,9 +532,10 @@ public class ContainerScreenOverlay extends Widget {
public boolean charTyped(char char_1, int int_1) {
if (!ScreenHelper.isOverlayVisible())
return false;
- for (Element listener : widgets)
- if (listener.charTyped(char_1, int_1))
- return true;
+ if (isInside(MouseUtils.getMouseLocation()))
+ for (Element listener : widgets)
+ if (listener.charTyped(char_1, int_1))
+ return true;
return false;
}
diff --git a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
index a39667f25..1063cbbd8 100644
--- a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
+++ b/