Example usage for net.minecraftforge.event.entity.player PlayerInteractEvent getPos

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

Introduction

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

Prototype

@Nonnull
public BlockPos getPos() 

Source Link

Document

If the interaction was on an entity, will be a BlockPos centered on the entity.

Usage

From source file:com.lothrazar.cyclicmagic.playerupgrade.PlayerAbilitiesModule.java

License:Open Source License

@SubscribeEvent
public void onPlayerInteract(PlayerInteractEvent event) {
    if (signSkullName) {
        EntityPlayer entityPlayer = event.getEntityPlayer();
        BlockPos pos = event.getPos();
        World worldObj = event.getWorld();
        if (pos == null) {
            return;
        }/*from  w w  w  .ja  va 2  s . c  om*/
        // event has no hand??
        // and no item stack. and right click rarely works. known bug
        // http://www.minecraftforge.net/forum/index.php?topic=37416.0
        ItemStack held = entityPlayer.getHeldItemMainhand();
        if (held == null) {
            held = entityPlayer.getHeldItemOffhand();
        }
        TileEntity container = worldObj.getTileEntity(pos);
        if (held != null && held.getItem() == Items.SKULL && held.getItemDamage() == Const.skull_player
                && container != null && container instanceof TileEntitySign) {
            TileEntitySign sign = (TileEntitySign) container;
            String firstLine = sign.signText[0].getUnformattedText();
            if (firstLine == null) {
                firstLine = "";
            }
            if (firstLine.isEmpty() || firstLine.split(" ").length == 0) {
                held.setTagCompound(null);
            } else {
                firstLine = firstLine.split(" ")[0];
                NBTTagCompound nbt = UtilNBT.getItemStackNBT(held);
                nbt.setString(Const.SkullOwner, firstLine);
            }
        }
    }
}

From source file:com.sr2610.steampunkd.handlers.world.WorldInteractionHandler.java

License:Creative Commons License

@SubscribeEvent
public void leatherInteract(PlayerInteractEvent event) {
    if ((event.getItemStack() != null) && (event.getItemStack().getItem() == Items.LEATHER)
            && (event.getWorld().getBlockState(event.getPos()).getBlock() == Blocks.WATER)) {
        EntityPlayer player = event.getEntityPlayer();
        event.getItemStack().stackSize--;
        if (player.inventory.addItemStackToInventory(new ItemStack(ModItems.craftingItem, 1, 0)) == false)
            if (!event.getWorld().isRemote)
                event.getWorld()/*from   w  w  w .  java  2 s . c om*/
                        .spawnEntityInWorld(new EntityItem(event.getWorld(), event.getPos().getX(),
                                event.getPos().getY() + 1, event.getPos().getZ(),
                                new ItemStack(ModItems.craftingItem, 1, 0)));

    }
}

From source file:valkyrienwarfare.mod.event.EventsCommon.java

License:Open Source License

@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onPlayerInteractEvent(PlayerInteractEvent event) {
    BlockPos pos = event.getPos();
    PhysicsWrapperEntity wrapper = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(event.getWorld(),
            pos);// w  w  w  .j ava2 s .  com
    if (wrapper != null) {
        event.setResult(Result.ALLOW);
    }
}