Search in sources :

Example 16 with Slot

use of net.minecraft.inventory.container.Slot in project BluePower by Qmunity.

the class ContainerItemDetector method quickMoveStack.

@Override
public ItemStack quickMoveStack(PlayerEntity player, int par2) {
    ItemStack itemstack = ItemStack.EMPTY;
    Slot slot = (Slot) slots.get(par2);
    if (slot != null && slot.hasItem()) {
        ItemStack itemstack1 = slot.getItem();
        itemstack = itemstack1.copy();
        if (par2 < 9) {
            if (!moveItemStackTo(itemstack1, 9, 45, true))
                return ItemStack.EMPTY;
        } else if (!moveItemStackTo(itemstack1, 0, 9, false)) {
            return ItemStack.EMPTY;
        }
        if (itemstack1.getCount() == 0) {
            slot.set(ItemStack.EMPTY);
        } else {
            slot.setChanged();
        }
        if (itemstack1.getCount() != itemstack.getCount()) {
            slot.onQuickCraft(itemstack, itemstack1);
        } else {
            return ItemStack.EMPTY;
        }
    }
    return itemstack;
}
Also used : Slot(net.minecraft.inventory.container.Slot) ItemStack(net.minecraft.item.ItemStack)

Example 17 with Slot

use of net.minecraft.inventory.container.Slot in project BluePower by Qmunity.

the class ContainerManager method quickMoveStack.

@Override
public ItemStack quickMoveStack(PlayerEntity player, int par2) {
    ItemStack itemstack = ItemStack.EMPTY;
    Slot slot = (Slot) slots.get(par2);
    if (slot != null && slot.hasItem()) {
        ItemStack itemstack1 = slot.getItem();
        itemstack = itemstack1.copy();
        if (par2 < 24) {
            if (!moveItemStackTo(itemstack1, 24, 60, false))
                return ItemStack.EMPTY;
        } else if (!moveItemStackTo(itemstack1, 0, 24, false)) {
            return ItemStack.EMPTY;
        }
        if (itemstack1.getCount() == 0) {
            slot.set(ItemStack.EMPTY);
        } else {
            slot.setChanged();
        }
        if (itemstack1.getCount() != itemstack.getCount()) {
            slot.onQuickCraft(itemstack, itemstack1);
        } else {
            return ItemStack.EMPTY;
        }
    }
    return itemstack;
}
Also used : Slot(net.minecraft.inventory.container.Slot) ItemStack(net.minecraft.item.ItemStack)

Example 18 with Slot

use of net.minecraft.inventory.container.Slot in project BluePower by Qmunity.

the class ContainerProjectTable method quickMoveStack.

/*
     * 0 result, 1-9 matrix,  10 - 27 inventory, 28 - 63 player inv.
     */
@Override
public ItemStack quickMoveStack(PlayerEntity player, int par2) {
    ItemStack itemstack = ItemStack.EMPTY;
    Slot slot = slots.get(par2);
    if (slot != null && slot.hasItem()) {
        ItemStack itemstack1 = slot.getItem();
        itemstack = itemstack1.copy();
        if (0 < par2 && par2 < 10) {
            if (!moveItemStackTo(itemstack1, 10, 28, false))
                return ItemStack.EMPTY;
        } else if (par2 < 28) {
            if (!moveItemStackTo(itemstack1, 28, 64, false))
                return ItemStack.EMPTY;
        } else {
            if (!moveItemStackTo(itemstack1, 10, 28, false))
                return ItemStack.EMPTY;
        }
        if (itemstack1.getCount() == 0) {
            slot.set(ItemStack.EMPTY);
        } else {
            slot.setChanged();
        }
        if (itemstack1.getCount() != itemstack.getCount()) {
            slot.onQuickCraft(itemstack, itemstack1);
        } else {
            this.slotsChanged(this.craftingGrid);
            return ItemStack.EMPTY;
        }
        ItemStack itemstack2 = slot.onTake(player, itemstack1);
        if (par2 == 0) {
            player.drop(itemstack2, false);
        }
    }
    this.slotsChanged(this.craftingGrid);
    return itemstack;
}
Also used : Slot(net.minecraft.inventory.container.Slot) ItemStack(net.minecraft.item.ItemStack)

Example 19 with Slot

use of net.minecraft.inventory.container.Slot in project BluePower by Qmunity.

the class ContainerRegulator method quickMoveStack.

@Override
public ItemStack quickMoveStack(PlayerEntity player, int par2) {
    ItemStack itemstack = ItemStack.EMPTY;
    Slot slot = (Slot) slots.get(par2);
    if (slot != null && slot.hasItem()) {
        ItemStack itemstack1 = slot.getItem();
        itemstack = itemstack1.copy();
        if (par2 >= 9 && par2 < 18) {
            if (!moveItemStackTo(itemstack1, 27, 63, true))
                return ItemStack.EMPTY;
        } else if (par2 >= 27 && !moveItemStackTo(itemstack1, 9, 18, false)) {
            return ItemStack.EMPTY;
        }
        if (itemstack1.getCount() == 0) {
            slot.set(ItemStack.EMPTY);
        } else {
            slot.setChanged();
        }
        if (itemstack1.getCount() != itemstack.getCount()) {
            slot.onQuickCraft(itemstack, itemstack1);
        } else {
            return ItemStack.EMPTY;
        }
    }
    return itemstack;
}
Also used : Slot(net.minecraft.inventory.container.Slot) ItemStack(net.minecraft.item.ItemStack)

Example 20 with Slot

use of net.minecraft.inventory.container.Slot in project BluePower by Qmunity.

the class ContainerAlloyFurnace method quickMoveStack.

@Override
public ItemStack quickMoveStack(PlayerEntity par1EntityPlayer, int par2) {
    ItemStack var3 = ItemStack.EMPTY;
    Slot var4 = slots.get(par2);
    if (var4 != null && var4.hasItem()) {
        ItemStack var5 = var4.getItem();
        var3 = var5.copy();
        if (par2 < 11) {
            if (!moveItemStackTo(var5, 12, 47, false))
                return ItemStack.EMPTY;
            var4.onQuickCraft(var5, var3);
        } else {
            if (FurnaceTileEntity.isFuel(var5) && moveItemStackTo(var5, 0, 1, false)) {
            } else if (!moveItemStackTo(var5, 2, 11, false))
                return ItemStack.EMPTY;
            var4.onQuickCraft(var5, var3);
        }
        if (var5.getCount() == 0) {
            var4.set(ItemStack.EMPTY);
        } else {
            var4.setChanged();
        }
        if (var5.getCount() == var3.getCount())
            return ItemStack.EMPTY;
        var4.onQuickCraft(var3, var5);
    }
    return var3;
}
Also used : Slot(net.minecraft.inventory.container.Slot) ItemStack(net.minecraft.item.ItemStack)

Aggregations

Slot (net.minecraft.inventory.container.Slot)21 ItemStack (net.minecraft.item.ItemStack)21 Nonnull (javax.annotation.Nonnull)2 IAgriJournalItem (com.infinityraider.agricraft.api.v1.content.items.IAgriJournalItem)1 IAgriSeedItem (com.infinityraider.agricraft.api.v1.content.items.IAgriSeedItem)1