Example usage for net.minecraftforge.items ItemHandlerHelper giveItemToPlayer

List of usage examples for net.minecraftforge.items ItemHandlerHelper giveItemToPlayer

Introduction

In this page you can find the example usage for net.minecraftforge.items ItemHandlerHelper giveItemToPlayer.

Prototype

public static void giveItemToPlayer(PlayerEntity player, @Nonnull ItemStack stack) 

Source Link

Document

giveItemToPlayer without preferred slot

Usage

From source file:com.buuz135.industrial.proxy.block.BlockLabel.java

License:Open Source License

@Override
public void onBlockClicked(World worldIn, BlockPos pos, EntityPlayer playerIn) {
    if (!worldIn.isRemote) {
        TileEntity entity = worldIn.getTileEntity(pos.offset(worldIn.getBlockState(pos).getValue(FACING)));
        TileEntity self = worldIn.getTileEntity(pos);
        if (self instanceof TileEntityLabel && entity instanceof BlackHoleUnitTile
                && ((BlackHoleUnitTile) entity).getDisplayAmount() > 0
                && !((IHasDisplayStack) entity).getItemStack()
                        .hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null)) {
            ItemHandlerHelper.giveItemToPlayer(playerIn,
                    entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.NORTH)
                            .extractItem(0, playerIn.isSneaking() ? 64 : 1, false));
        }//from  ww w. j  ava 2s .c  o m
    }
    super.onBlockClicked(worldIn, pos, playerIn);
}

From source file:com.buuz135.industrial.proxy.event.CocoaBeanRightClickHarvesting.java

License:Open Source License

@SubscribeEvent
public static void onPlayerRightClick(PlayerInteractEvent.RightClickBlock event) {
    if (!BlockRegistry.plantInteractorBlock.isRightClickCocoBeansEnabled())
        return;/*www . j  a  va2 s . com*/
    if (event.getWorld().isRemote)
        return;
    if (event.getHand() != EnumHand.MAIN_HAND)
        return;
    if (event.getEntityPlayer() == null)
        return;
    IBlockState state = event.getWorld().getBlockState(event.getPos());
    if (state.getBlock() instanceof BlockCocoa && state.getValue(BlockCocoa.AGE) == 2) {
        ItemStack main = event.getEntityPlayer().getHeldItemMainhand();
        int fortune = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, main);
        NonNullList<ItemStack> drops = NonNullList.create();
        state.getBlock().getDrops(drops, event.getWorld(), event.getPos(), state, fortune);
        if (drops.size() > 0) {
            drops.get(0).shrink(1);
        }
        ForgeEventFactory.fireBlockHarvesting(drops, event.getWorld(), event.getPos(), state, fortune, 1f,
                false, event.getEntityPlayer());
        event.getWorld().setBlockState(event.getPos(), state.withProperty(BlockCocoa.AGE, 0));
        for (ItemStack stack : drops)
            ItemHandlerHelper.giveItemToPlayer(event.getEntityPlayer(), stack);
    }
}

From source file:com.raphydaphy.vitality.nbt.InventoryHelper.java

License:Open Source License

public static void withdrawFromInventory(TileSimpleInventory inv, EntityPlayer player) {
    for (int i = inv.getSizeInventory() - 1; i >= 0; i--) {
        ItemStack stackAt = inv.getItemHandler().getStackInSlot(i);
        if (stackAt != null) {
            ItemStack copy = stackAt.copy();
            ItemHandlerHelper.giveItemToPlayer(player, copy);
            inv.getItemHandler().setStackInSlot(i, null);
            player.worldObj.updateComparatorOutputLevel(inv.getPos(), null);
            break;
        }/*from   w  ww  .  j a v  a 2 s .com*/
    }
}

From source file:daxum.temporalconvergence.block.BlockBrazier.java

License:Open Source License

@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player,
        EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
    if (!world.isRemote) {
        TileBrazier brazier = WorldHelper.getTileEntity(world, pos, TileBrazier.class);

        if (brazier != null) {
            if (brazier.isBurning()) {
                brazier.pauseBurning();/*from   w ww .  j  av a 2 s  . c  o m*/
                world.playSound(null, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5f,
                        2.6f + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8f);
            } else {
                //Extract item
                if (player.getHeldItem(hand).isEmpty()) {
                    //If sneaking, clear all items, including partially burned ones. Partially burned items are lost
                    if (player.isSneaking()) {
                        brazier.stopBurning();
                        ItemHandlerHelper.giveItemToPlayer(player, brazier.getInventory().extractItem(0,
                                brazier.getInventory().getSlotLimit(0), false));
                    } else {
                        ItemHandlerHelper.giveItemToPlayer(player,
                                brazier.getInventory().extractItem(0, 1, false));
                    }
                }
                //Light brazier
                else if (player.getHeldItem(hand).getItem() instanceof ItemFlintAndSteel) {
                    brazier.StartOrResumeBurning();
                    player.getHeldItem(hand).damageItem(1, player);
                    world.playSound(null, pos, SoundEvents.ITEM_FLINTANDSTEEL_USE, SoundCategory.BLOCKS, 1.0f,
                            Block.RANDOM.nextFloat() * 0.4f + 0.8f);
                }
                //Insert item
                else {
                    ItemHandlerHelper.giveItemToPlayer(player, brazier.getInventory().insertItem(0,
                            player.getHeldItem(hand).splitStack(1), false));
                }
            }
        }
    }

    return true;
}

From source file:daxum.temporalconvergence.entity.EntityLunarBoomerang.java

License:Open Source License

private void returnToThrower() {
    setDead();//from  w  w  w  . j  a  v  a2s  .c  o m

    if (!thrownStack.isEmpty()) {
        if (thrower != null) {
            ItemHandlerHelper.giveItemToPlayer(thrower, thrownStack);
        } else {
            world.spawnEntity(new EntityItem(world, posX, posY, posZ, thrownStack));
        }
    }

    //TODO: particles
}

From source file:daxum.temporalconvergence.item.ItemTimeBulb.java

License:Open Source License

@Override
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
    ItemStack stack = player.getHeldItem(hand);

    if (stack.getItem() == this) {
        final int dropAmount = getAmountToDrop(stack);

        if (!player.isCreative()) {
            stack.shrink(1);/* w  ww .  jav  a  2  s .com*/
        }

        ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(ModItems.TIME_DUST, dropAmount));

        return ActionResult.newResult(EnumActionResult.SUCCESS, player.getHeldItem(hand));
    }

    return ActionResult.newResult(EnumActionResult.PASS, stack);
}

From source file:vazkii.botania.common.block.BlockSparkChanger.java

License:Open Source License

@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player,
        EnumHand hand, EnumFacing s, float xs, float ys, float zs) {
    TileSparkChanger changer = (TileSparkChanger) world.getTileEntity(pos);
    ItemStack pstack = player.getHeldItem(hand);
    ItemStack cstack = changer.getItemHandler().getStackInSlot(0);
    if (!cstack.isEmpty()) {
        changer.getItemHandler().setStackInSlot(0, ItemStack.EMPTY);
        world.updateComparatorOutputLevel(pos, this);
        changer.markDirty();/*from  ww w.  java 2s . com*/
        ItemHandlerHelper.giveItemToPlayer(player, cstack);
        return true;
    } else if (!pstack.isEmpty() && pstack.getItem() == ModItems.sparkUpgrade) {
        changer.getItemHandler().setStackInSlot(0, pstack.splitStack(1));
        world.updateComparatorOutputLevel(pos, this);
        changer.markDirty();

        return true;
    }

    return false;
}

From source file:vazkii.botania.common.block.mana.BlockEnchanter.java

License:Open Source License

@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player,
        EnumHand hand, ItemStack stack, EnumFacing side, float par7, float par8, float par9) {
    TileEnchanter enchanter = (TileEnchanter) world.getTileEntity(pos);
    if (stack != null && stack.getItem() == ModItems.twigWand)
        return false;

    boolean stackEnchantable = stack != null && stack.getItem() != Items.BOOK && stack.isItemEnchantable()
            && stack.stackSize == 1;

    if (enchanter.itemToEnchant == null) {
        if (stackEnchantable) {
            enchanter.itemToEnchant = stack.copy();
            player.setHeldItem(hand, null);
            enchanter.sync();/*from  w w  w. j a v a  2 s. co m*/
        }
    } else if (enchanter.stage == TileEnchanter.State.IDLE) {
        ItemHandlerHelper.giveItemToPlayer(player, enchanter.itemToEnchant.copy());
        enchanter.itemToEnchant = null;
        enchanter.sync();
    }

    return true;
}

From source file:vazkii.botania.common.block.tile.TileTinyPotato.java

License:Open Source License

public void interact(EntityPlayer player, EnumHand hand, ItemStack stack, EnumFacing side) {
    int index = side.getIndex();
    if (index >= 0) {
        ItemStack stackAt = getItemHandler().getStackInSlot(index);
        if (!stackAt.isEmpty() && stack.isEmpty()) {
            player.setHeldItem(hand, stackAt);
            getItemHandler().setStackInSlot(index, ItemStack.EMPTY);
        } else if (!stack.isEmpty()) {
            ItemStack copy = stack.splitStack(1);

            if (stack.isEmpty())
                player.setHeldItem(hand, stackAt);
            else if (!stackAt.isEmpty()) {
                ItemHandlerHelper.giveItemToPlayer(player, stackAt);
            }/* w  ww . j  a  v a 2  s.  c  om*/

            getItemHandler().setStackInSlot(index, copy);
        }
    }

    jump();

    if (!world.isRemote) {
        if (name.toLowerCase().trim().endsWith("shia labeouf") && nextDoIt == 0) {
            nextDoIt = 40;
            world.playSound(null, pos, ModSounds.doit, SoundCategory.BLOCKS, 1F, 1F);
        }

        for (int i = 0; i < getSizeInventory(); i++) {
            ItemStack stackAt = getItemHandler().getStackInSlot(i);
            if (!stackAt.isEmpty() && stackAt.getItem() == Item.getItemFromBlock(ModBlocks.tinyPotato)) {
                player.sendMessage(new TextComponentString("Don't talk to me or my son ever again."));
                return;
            }
        }

        PlayerHelper.grantCriterion((EntityPlayerMP) player,
                new ResourceLocation(LibMisc.MOD_ID, "main/tiny_potato_pet"), "code_triggered");
    }
}