From 3de75f4e26e6d74f5c8e7e3748cf053947259f2c Mon Sep 17 00:00:00 2001 From: slprime <31038811+slprime@users.noreply.github.com> Date: Sun, 8 Mar 2026 12:23:18 +0200 Subject: [PATCH] Fix bookmark slot placement logic (#885) --- .../java/codechicken/nei/bookmark/BookmarkGridGenerator.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/codechicken/nei/bookmark/BookmarkGridGenerator.java b/src/main/java/codechicken/nei/bookmark/BookmarkGridGenerator.java index 0a4290ec..90d06d05 100644 --- a/src/main/java/codechicken/nei/bookmark/BookmarkGridGenerator.java +++ b/src/main/java/codechicken/nei/bookmark/BookmarkGridGenerator.java @@ -228,7 +228,7 @@ public class BookmarkGridGenerator { index = Math.max(0, index); while (j++ < maxIndex) { - boolean isFirstColumn = (index % gridColumns) == 0; + final boolean isFirstColumn = (index % gridColumns) == 0; if (this.grid.isInvalidSlot(index % maxIndex)) { index++; @@ -239,7 +239,7 @@ public class BookmarkGridGenerator { return index; } else if (isFirstColumn && (meta.recipeId == null || previousMeta == null || previousMeta.groupId != meta.groupId - || meta.type == BookmarkItemType.ITEM + || meta.type != BookmarkItemType.INGREDIENT || !meta.recipeId.equals(previousMeta.recipeId) || index + 1 < maxIndex && this.grid.isInvalidSlot((index + 1) % maxIndex))) { // In first column must be an item without recipe, a recipe result, or an ingredient @@ -248,6 +248,7 @@ public class BookmarkGridGenerator { } else if (!isFirstColumn && meta.type != BookmarkItemType.ITEM && previousMeta.type != BookmarkItemType.ITEM + && meta.groupId == previousMeta.groupId && meta.recipeId != null && meta.recipeId.equals(previousMeta.recipeId)) { return index;