From d21610b465988121524288e8785b6e79e9a839b2 Mon Sep 17 00:00:00 2001
From: shedaniel <daniel@shedaniel.me>
Date: Tue, 30 Apr 2024 00:43:12 +0900
Subject: [PATCH] Fix #1614

---
 .../gui/widget/entrylist/PaginatedEntryListWidget.java      | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java
index 1579282a6..c6c532799 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java
@@ -118,6 +118,10 @@ protected void renderEntries(boolean fastEntryRendering, PoseStack matrices, int
     }
     
     public int getTotalPages() {
+        return getTotalPages(entries);
+    }
+    
+    public int getTotalPages(List<?> entries) {
         return Mth.ceil(stacks.size() / (float) entries.size());
     }
     
@@ -136,7 +140,7 @@ protected void updateEntries(int entrySize, boolean zoomed) {
                 }
             }
         }
-        page = Math.max(Math.min(page, getTotalPages() - 1), 0);
+        page = Mth.clamp(page, 0, getTotalPages(entries) - 1);
         int skip = Math.max(0, page * entries.size());
         List</*EntryStack<?> | List<EntryStack<?>>*/ Object> subList = stacks.subList(skip, Math.min(stacks.size(), skip + entries.size()));
         Int2ObjectMap<CollapsedStack> indexedCollapsedStack = getCollapsedStackIndexed();