Respect max amount per slot.

This commit is contained in:
Sebastian Hartte
2020-08-05 23:15:04 +02:00
parent 77e07e9b3b
commit 8f740be431
2 changed files with 13 additions and 8 deletions
@@ -18,24 +18,21 @@
package appeng.tile.inventory;
import java.util.Arrays;
import java.util.Iterator;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import alexiil.mc.lib.attributes.Simulation;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import alexiil.mc.lib.attributes.item.LimitedFixedItemInv;
import alexiil.mc.lib.attributes.item.compat.FixedInventoryVanillaWrapper;
import alexiil.mc.lib.attributes.item.filter.ConstantItemFilter;
import alexiil.mc.lib.attributes.item.filter.ItemFilter;
import alexiil.mc.lib.attributes.item.impl.DirectFixedItemInv;
import appeng.util.Platform;
import appeng.util.inv.IAEAppEngInventory;
import appeng.util.inv.InvOperation;
import appeng.util.inv.filter.IAEItemFilter;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import java.util.Arrays;
import java.util.Iterator;
// FIXME: the filtering is not correctly implemented and need to be reworked
public class AppEngInternalInventory extends DirectFixedItemInv implements Iterable<ItemStack> {
@@ -94,6 +91,10 @@ public class AppEngInternalInventory extends DirectFixedItemInv implements Itera
@Override
public boolean setInvStack(int slot, ItemStack to, Simulation simulation) {
if (!to.isEmpty() && to.getCount() > getMaxAmount(slot, to)) {
return false;
}
if (!simulation.isAction()) {
return super.setInvStack(slot, to, simulation);
}