List of usage examples for net.minecraftforge.items ItemHandlerHelper giveItemToPlayer
public static void giveItemToPlayer(PlayerEntity player, @Nonnull ItemStack stack)
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"); } }