Bookmarks: save result that has output bigger than 64 (#308)

Co-authored-by: slprime <history-21@yandex.ru>
This commit is contained in:
slprimeandslprime authored and GitHub committed 2022-10-13 20:49:43 +02:00
1 parent 7c2fb2df5f
commit 2302dac5c0
2 files changed
+27

No files matched your search

@@ -108,6 +108,7 @@ public abstract class ShortcutInputHandler {
if (gui instanceof GuiRecipe) {
ingredients = ((GuiRecipe<?>) gui).getFocusedRecipeIngredients();
handlerName = ((GuiRecipe<?>) gui).getHandlerName();
stack.stackSize = ((GuiRecipe<?>) gui).prepareFocusedRecipeResultStackSize(stack);
}
ItemPanels.bookmarkPanel.addOrRemoveItem(stack, handlerName, ingredients, saveIngredients, saveStackSize);
@@ -273,6 +273,32 @@ public abstract class GuiRecipe<H extends IRecipeHandler> extends GuiContainer
return null;
}
public int prepareFocusedRecipeResultStackSize(ItemStack stackover) {
final int recipesPerPage = getRecipesPerPage();
for (int idx = page * recipesPerPage; idx < handler.numRecipes() && idx < (page + 1) * recipesPerPage; idx++) {
if (recipeInFocus(idx)) {
final PositionedStack result = handler.getResultStack(idx);
int stackSize = 0;
if (result != null && StackInfo.equalItemAndNBT(result.item, stackover, true)) {
stackSize += result.item.stackSize;
}
final List<PositionedStack> stacks = handler.getOtherStacks(idx);
for (PositionedStack pStack : stacks) {
if (StackInfo.equalItemAndNBT(pStack.item, stackover, true)) {
stackSize += pStack.item.stackSize;
}
}
return stackSize;
}
}
return stackover.stackSize;
}
protected boolean recipeInFocus(int idx) {
final PositionedStack result = handler.getResultStack(idx);
if (result != null && isMouseOver(result, idx)) {