2020-10-15 06:07:06 +02:00
|
|
|
package de.ellpeck.prettypipes.compat.jei;
|
|
|
|
|
2022-06-27 13:57:06 +02:00
|
|
|
// TODO JEI
|
|
|
|
/*
|
2021-12-19 17:27:21 +01:00
|
|
|
public class CraftingModuleTransferHandler implements IRecipeTransferHandler<CraftingModuleContainer, CraftingRecipe> {
|
|
|
|
|
2020-10-15 06:07:06 +02:00
|
|
|
@Override
|
|
|
|
public Class<CraftingModuleContainer> getContainerClass() {
|
|
|
|
return CraftingModuleContainer.class;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2021-12-19 17:27:21 +01:00
|
|
|
public Class<CraftingRecipe> getRecipeClass() {
|
|
|
|
return CraftingRecipe.class;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public IRecipeTransferError transferRecipe(CraftingModuleContainer container, CraftingRecipe recipe, IRecipeLayout recipeLayout, Player player, boolean maxTransfer, boolean doTransfer) {
|
2020-10-15 06:07:06 +02:00
|
|
|
if (!doTransfer)
|
|
|
|
return null;
|
2021-12-19 17:27:21 +01:00
|
|
|
var ingredients = recipeLayout.getItemStacks().getGuiIngredients();
|
|
|
|
var inputs = new ArrayList<ItemStack>();
|
|
|
|
var outputs = new ArrayList<ItemStack>();
|
|
|
|
for (var entry : ingredients.entrySet()) {
|
|
|
|
var allIngredients = entry.getValue().getAllIngredients();
|
2020-10-15 06:07:06 +02:00
|
|
|
if (allIngredients.isEmpty())
|
|
|
|
continue;
|
2021-12-19 17:27:21 +01:00
|
|
|
var remain = allIngredients.get(0).copy();
|
|
|
|
var toAdd = entry.getValue().isInput() ? inputs : outputs;
|
|
|
|
for (var stack : toAdd) {
|
2021-03-03 01:56:19 +01:00
|
|
|
if (ItemEquality.compareItems(stack, remain)) {
|
2021-12-19 17:27:21 +01:00
|
|
|
var fits = Math.min(stack.getMaxStackSize() - stack.getCount(), remain.getCount());
|
2020-10-15 06:07:06 +02:00
|
|
|
stack.grow(fits);
|
|
|
|
remain.shrink(fits);
|
|
|
|
if (remain.isEmpty())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!remain.isEmpty())
|
|
|
|
toAdd.add(remain);
|
|
|
|
}
|
|
|
|
PacketHandler.sendToServer(new PacketCraftingModuleTransfer(inputs, outputs));
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
2022-06-27 13:57:06 +02:00
|
|
|
*/
|