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

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

Introduction

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

Prototype

@Nonnull
public ItemStack getItemStack() 

Source Link

Usage

From source file:com.lothrazar.cyclicmagic.block.vector.BlockVectorPlate.java

License:Open Source License

@SubscribeEvent
public void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) {
    BlockPos pos = event.getPos();// ww  w  .j a  v  a 2s  .c  om
    World world = event.getWorld();
    EntityPlayer player = event.getEntityPlayer();
    ItemStack stack = event.getItemStack();//    ItemStack stack = player.getHeldItem(event.getHand());
    if (player.isSneaking() == false && world.getTileEntity(pos) instanceof TileEntityVector && stack != null
            && Block.getBlockFromItem(stack.getItem()) instanceof BlockVectorPlate) {
        IBlockState iblockstate = world.getBlockState(pos);
        Block block = iblockstate.getBlock();
        TileEntityVector tile = (TileEntityVector) world.getTileEntity(pos);
        if (stack.hasTagCompound()) {
            ((BlockVectorPlate) block).saveStackDataTotile(stack, tile);
            if (world.isRemote)
                UtilChat.addChatMessage(player, "tile.plate_vector.copied");
        }
    }
}

From source file:com.lothrazar.cyclicmagic.block.wireless.BlockRedstoneWireless.java

License:Open Source License

@SubscribeEvent
public static void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) {
    BlockPos pos = event.getPos();//from   w ww  .  java2s .  c om
    World world = event.getWorld();
    ItemStack stack = event.getItemStack();//player held item
    if (world.getTileEntity(pos) instanceof TileEntityWirelessRec
            && stack.getItem() == Item.getByNameOrId("cyclicmagic:wireless_transmitter")) {
        UtilNBT.setItemStackBlockPos(stack, pos);
        UtilChat.sendStatusMessage(event.getEntityPlayer(),
                UtilChat.lang("tile.wireless_transmitter.saved") + UtilChat.blockPosToString(pos));
    }
}

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

License:Open Source License

@SubscribeEvent
public void onLeftClickBlock(PlayerInteractEvent.LeftClickBlock event) {
    EntityPlayer entityPlayer = event.getEntityPlayer();
    BlockPos pos = event.getPos();/*from   w ww . j a  v a2 s . c om*/
    World worldObj = event.getWorld();
    //    ItemStack held = entityPlayer.getHeldItem(event.getHand());
    ItemStack held = event.getItemStack();
    if (stardewFurnace) {
        // ignore in creative// left clicking just breaks it anyway
        if (entityPlayer.capabilities.isCreativeMode || pos == null || held.getItem() instanceof ItemPickaxe) {
            return;
        }
        int playerSlot = 0;// entityPlayer.inventory.currentItem;
        boolean wasMain = event.getHand() == EnumHand.MAIN_HAND;
        if (wasMain) {
            playerSlot = entityPlayer.inventory.currentItem;
        } else {
            //just dont use offhand, ignore it for now. is easier
            playerSlot = 40;
        }
        TileEntity tile = worldObj.getTileEntity(pos);
        if (tile instanceof TileEntityFurnace) {
            TileEntityFurnace furnace = (TileEntityFurnace) tile;
            if (held.isEmpty()) {
                UtilFurnace.extractFurnaceOutput(furnace, entityPlayer);
            } else {
                //holding a non null stack for sure
                //ALSO tools are smeltable now in new 1.11, but we skip that eh
                if (UtilFurnace.canBeSmelted(held) && (held.getItem() instanceof ItemTool) == false) {
                    UtilFurnace.tryMergeStackIntoSlot(furnace, entityPlayer, playerSlot,
                            UtilFurnace.SLOT_INPUT);
                } else if (UtilFurnace.isFuel(held)) {
                    UtilFurnace.tryMergeStackIntoSlot(furnace, entityPlayer, playerSlot, UtilFurnace.SLOT_FUEL);
                }
            }
        }
    }
    if (easyEnderChest) {
        if (!held.isEmpty() && held.getItem() == Item.getItemFromBlock(Blocks.ENDER_CHEST)) {
            entityPlayer.displayGUIChest(entityPlayer.getInventoryEnderChest());
        }
    }
}