Files
NotEnoughItems/src/main/java/codechicken/nei/InfiniteStackSizeHandler.java
T

45 lines
1.3 KiB
Java
Raw Normal View History

2014-04-29 10:54:20 +10:00
package codechicken.nei;
import codechicken.lib.inventory.InventoryUtils;
import codechicken.nei.api.IInfiniteItemHandler;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
public class InfiniteStackSizeHandler implements IInfiniteItemHandler {
2014-04-29 10:54:20 +10:00
@Override
public void onPickup(ItemStack heldItem) {
2014-04-29 10:54:20 +10:00
heldItem.stackSize = 1;
}
@Override
public void onPlaceInfinite(ItemStack heldItem) {
2014-04-29 10:54:20 +10:00
heldItem.stackSize = 111;
}
@Override
public boolean canHandleItem(ItemStack stack) {
2014-04-29 10:54:20 +10:00
return !stack.isItemStackDamageable();
}
@Override
public boolean isItemInfinite(ItemStack stack) {
2014-04-29 10:54:20 +10:00
return stack.stackSize == -1 || stack.stackSize > 100;
}
@Override
public void replenishInfiniteStack(InventoryPlayer inv, int slotNo) {
2014-04-29 10:54:20 +10:00
ItemStack stack = inv.getStackInSlot(slotNo);
stack.stackSize = 111;
for (int i = 0; i < inv.getSizeInventory(); i++) {
if (i == slotNo) continue;
if (NEIServerUtils.areStacksSameType(stack, inv.getStackInSlot(i))) inv.setInventorySlotContents(i, null);
2014-04-29 10:54:20 +10:00
}
}
@Override
public ItemStack getInfiniteItem(ItemStack typeStack) {
2014-04-29 10:54:20 +10:00
return InventoryUtils.copyStack(typeStack, -1);
}
}