Skip to content

Commit

Permalink
Add all viewable items in MEStorageMenus to Emi inventory
Browse files Browse the repository at this point in the history
  • Loading branch information
ramidzkh committed Oct 17, 2024
1 parent 3552335 commit c029cda
Showing 1 changed file with 25 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package appeng.integration.modules.emi;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;

import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.core.NonNullList;
import net.minecraft.world.inventory.Slot;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.CraftingBookCategory;
import net.minecraft.world.item.crafting.Ingredient;
Expand All @@ -14,11 +17,14 @@
import net.minecraft.world.item.crafting.ShapedRecipe;
import net.minecraft.world.item.crafting.ShapedRecipePattern;

import dev.emi.emi.api.recipe.EmiPlayerInventory;
import dev.emi.emi.api.recipe.EmiRecipe;
import dev.emi.emi.api.stack.EmiStack;

import appeng.api.stacks.GenericStack;
import appeng.core.localization.ItemModText;
import appeng.integration.modules.itemlists.CraftingHelper;
import appeng.menu.me.common.GridInventoryEntry;
import appeng.menu.me.items.CraftingTermMenu;

/**
Expand All @@ -41,6 +47,25 @@ public EmiUseCraftingRecipeHandler(Class<T> containerClass) {
super(containerClass);
}

@Override
public EmiPlayerInventory getInventory(AbstractContainerScreen<T> screen) {
List<EmiStack> list = new ArrayList<>();

for (Slot slot : getInputSources(screen.getMenu())) {
list.add(EmiStack.of(slot.getItem()));
}

var repo = screen.getMenu().getClientRepo();

if (repo != null) {
for (GridInventoryEntry entry : repo.getAllEntries()) {
list.add(EmiStackHelper.toEmiStack(new GenericStack(entry.getWhat(), entry.getStoredAmount())));
}
}

return new EmiPlayerInventory(list);
}

@Override
protected Result transferRecipe(T menu, RecipeHolder<?> holder, EmiRecipe emiRecipe, boolean doTransfer) {

Expand Down

0 comments on commit c029cda

Please sign in to comment.