Skip to content

Commit f6ff05d

Browse files
fixed a stack overflow
1 parent d593847 commit f6ff05d

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

core/src/main/java/com/wizardlybump17/wlib/inventory/paginated/PaginatedInventoryBuilder.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,12 @@ public PaginatedInventoryBuilder shapeReplacements(@NonNull Map<Character, ItemB
133133
}
134134

135135
public @NotNull PaginatedInventoryBuilder setReplacementItemStackByCustomData(@NotNull Object key, @Nullable Object value, @NotNull Function<ItemStack, ItemStack> replacer) {
136-
for (ItemButton button : shapeReplacements.values())
137-
if (Objects.equals(button.getCustomData().get(key), value))
138-
button.setItem(() -> replacer.apply(button.getItem().get()));
136+
for (ItemButton button : shapeReplacements.values()) {
137+
ItemStack originalItem = button.getItem().get();
138+
if (Objects.equals(button.getCustomData().get(key), value)) {
139+
button.setItem(() -> replacer.apply(originalItem));
140+
}
141+
}
139142
return this;
140143
}
141144

@@ -158,9 +161,12 @@ public PaginatedInventoryBuilder shapeReplacements(@NonNull Map<Character, ItemB
158161
}
159162

160163
public @NotNull PaginatedInventoryBuilder setReplacementItemByCustomData(@NotNull Object key, @Nullable Object value, @NotNull Function<ItemBuilder, ItemBuilder> replacer) {
161-
for (ItemButton button : shapeReplacements.values())
162-
if (Objects.equals(button.getCustomData().get(key), value))
163-
button.setItem(() -> replacer.apply(ItemBuilder.fromItemStack(button.getItem().get())).build());
164+
for (ItemButton button : shapeReplacements.values()) {
165+
ItemStack originalItem = button.getItem().get();
166+
if (Objects.equals(button.getCustomData().get(key), value)) {
167+
button.setItem(() -> replacer.apply(ItemBuilder.fromItemStack(originalItem)).build());
168+
}
169+
}
164170
return this;
165171
}
166172

0 commit comments

Comments
 (0)