Example usage for net.minecraftforge.event.entity.player PlayerInteractEvent.RightClickItem getItemStack

List of usage examples for net.minecraftforge.event.entity.player PlayerInteractEvent.RightClickItem getItemStack

Introduction

In this page you can find the example usage for net.minecraftforge.event.entity.player PlayerInteractEvent.RightClickItem getItemStack.

Prototype

@Nonnull
public ItemStack getItemStack() 

Source Link

Usage

From source file:de.ellpeck.actuallyadditions.mod.items.ItemWaterBowl.java

@SubscribeEvent
public void onPlayerInteractEvent(PlayerInteractEvent.RightClickItem event) {
    if (event.getWorld() != null) {
        if (ConfigBoolValues.WATER_BOWL.isEnabled()) {
            if (StackUtil.isValid(event.getItemStack()) && event.getItemStack().getItem() == Items.BOWL) {
                RayTraceResult trace = WorldUtil.getNearestBlockWithDefaultReachDistance(event.getWorld(),
                        event.getEntityPlayer(), true, false, false);
                ActionResult<ItemStack> result = ForgeEventFactory.onBucketUse(event.getEntityPlayer(),
                        event.getWorld(), event.getItemStack(), trace);
                if (result == null && trace != null && trace.getBlockPos() != null) {
                    if (event.getEntityPlayer().canPlayerEdit(trace.getBlockPos().offset(trace.sideHit),
                            trace.sideHit, event.getItemStack())) {
                        IBlockState state = event.getWorld().getBlockState(trace.getBlockPos());
                        Material material = state.getMaterial();

                        if (material == Material.WATER && state.getValue(BlockLiquid.LEVEL) == 0) {
                            event.getEntityPlayer().playSound(SoundEvents.ITEM_BUCKET_FILL, 1.0F, 1.0F);

                            if (!event.getWorld().isRemote) {
                                event.getWorld().setBlockState(trace.getBlockPos(),
                                        Blocks.AIR.getDefaultState(), 11);
                                ItemStack reduced = StackUtil.addStackSize(event.getItemStack(), -1);

                                ItemStack bowl = new ItemStack(InitItems.itemWaterBowl);
                                if (!StackUtil.isValid(reduced)) {
                                    event.getEntityPlayer().setHeldItem(event.getHand(), bowl);
                                } else if (!event.getEntityPlayer().inventory
                                        .addItemStackToInventory(bowl.copy())) {
                                    EntityItem entityItem = new EntityItem(event.getWorld(),
                                            event.getEntityPlayer().posX, event.getEntityPlayer().posY,
                                            event.getEntityPlayer().posZ, bowl.copy());
                                    entityItem.setPickupDelay(0);
                                    event.getWorld().spawnEntity(entityItem);
                                }/*from   w w w  .j  a v a 2 s  . co m*/
                            }
                        }
                    }
                }
            }
        }
    }
}

From source file:org.blockartistry.DynSurround.client.handlers.PlayerActionHandler.java

License:MIT License

@SubscribeEvent
public void onItemUse(@Nonnull final PlayerInteractEvent.RightClickItem event) {
    if (event.getEntityPlayer() == null || event.getEntityPlayer().world == null
            || event.getItemStack() == null)
        return;//  ww w  . j  a  va  2s.  c o  m

    if (event.getEntityPlayer().world.isRemote && this.itemRegistry.doBowSound(event.getItemStack())) {
        final ItemStack currentItem = event.getEntityPlayer().getHeldItem(event.getHand());
        final SoundEffect soundEffect = this.itemRegistry.getUseSound(currentItem);
        if (soundEffect != null) {
            final BasicSound<?> sound = soundEffect.createSound(EnvironState.getPlayer());
            sound.setRoutable(DSurround.isInstalledOnServer());
            SoundEffectHandler.INSTANCE.playSound(sound);
        }
    }
}

From source file:org.blockartistry.mod.DynSurround.client.EnvironStateHandler.java

License:MIT License

@SubscribeEvent
public void onItemUse(final PlayerInteractEvent.RightClickItem event) {
    if (BOW_PULL == null || event.getEntityPlayer() == null || event.getEntityPlayer().worldObj == null
            || event.getItemStack() == null || event.getItemStack().getItem() == null)
        return;/*from w ww. ja  v a2  s  .  co m*/

    if (event.getEntityPlayer().worldObj.isRemote && event.getItemStack().getItem() instanceof ItemBow) {
        SoundManager.playSoundAtPlayer(EnvironState.getPlayer(), BOW_PULL, SoundCategory.PLAYERS);
    }
}

From source file:robmart.rpgmode.common.handlers.EventHandler.java

License:Open Source License

@SubscribeEvent
public static void onPlayerRightClickBlock(final PlayerInteractEvent.RightClickItem event) {
    RayTraceResult look = PlayerHelper.rayTrace(event.getWorld(), event.getEntityPlayer(), true);
    if (look == null)
        return;/*from   w w w  . ja v a  2s . c o  m*/
    if (look.typeOfHit != RayTraceResult.Type.BLOCK)
        return;

    IBlockState state = event.getWorld().getBlockState(look.getBlockPos());

    if (event.getItemStack().getItem() instanceof ItemGlassBottle && state.getMaterial() == Material.LAVA) {
        event.getWorld().playSound(event.getEntityPlayer(), event.getEntityPlayer().posX,
                event.getEntityPlayer().posY, event.getEntityPlayer().posZ, SoundEvents.ITEM_BOTTLE_FILL,
                SoundCategory.NEUTRAL, 1.0F, 1.0F);
        ItemHelper.turnBottleIntoItem(event.getItemStack(), event.getEntityPlayer(),
                PotionHelper.getItemStackOfPotion(Items.POTIONITEM, RPGPotionTypes.LAVA));
    }
}