Examples of PipeRequestEvent


Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

        BlockFace back = SignUtil.getBack(sign.getBlock());

        Block pipe = backB.getRelative(back);

        // Handle the event
        PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<ItemStack>(Arrays.asList(items)), backB);
        Bukkit.getPluginManager().callEvent(event);

        if (!event.isValid()) return;

        Collection<ItemStack> results = event.getItems();

        // If there is a chest add the results to the chest
        Block invHolder = backB.getRelative(offset.getBlockX(), offset.getBlockY(), offset.getBlockZ());
        if (InventoryUtil.doesBlockHaveInventory(invHolder)) {
            InventoryHolder c = (InventoryHolder) invHolder.getState();
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

        if (over.isEmpty()) {

            BlockFace back = SignUtil.getBack(BukkitUtil.toSign(getSign()).getBlock());
            Block pipe = getBackBlock().getRelative(back);

            PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<ItemStack>(Arrays.asList(item.clone())), getBackBlock());
            Bukkit.getPluginManager().callEvent(event);

            if(!event.isValid())
                return true;

            for(ItemStack stack : event.getItems())
                BukkitUtil.toSign(getSign()).getWorld().dropItemNaturally(BukkitUtil.toSign(getSign()).getLocation(), stack);
            return true;
        } else {

            BlockFace back = SignUtil.getBack(BukkitUtil.toSign(getSign()).getBlock());
            Block pipe = getBackBlock().getRelative(back);

            PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<ItemStack>(over.values()), getBackBlock());
            Bukkit.getPluginManager().callEvent(event);

            if(!event.isValid())
                return true;

            for (ItemStack it : event.getItems()) {

                if (item.getAmount() - it.getAmount() < 1) continue;
                BukkitUtil.toSign(getSign()).getWorld().dropItemNaturally(BukkitUtil.toSign(getSign()).getLocation(), new ItemStack(it.getType(), item.getAmount() - it.getAmount(), it.getDurability()));
                return true;
            }
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

        if (goRight())
            b = SignUtil.getRightBlock(BukkitUtil.toSign(getSign()).getBlock()).getRelative(back);
        else
            b = SignUtil.getLeftBlock(BukkitUtil.toSign(getSign()).getBlock()).getRelative(back);

        PipeRequestEvent event = new PipeRequestEvent(b, new ArrayList<ItemStack>(Arrays.asList(item)), getBackBlock());
        Bukkit.getPluginManager().callEvent(event);

        for(ItemStack it : event.getItems())
            b.getWorld().dropItemNaturally(b.getLocation().add(0.5, 0.5, 0.5), it);

        return true;
    }
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

        items.add(result);

        Block pipe = ((BlockState) disp).getBlock().getRelative(((org.bukkit.material.Directional) ((BlockState) disp).getData()).getFacing());
        Block base = ((BlockState) disp).getBlock();

        PipeRequestEvent event = new PipeRequestEvent(pipe, items, base);
        Bukkit.getPluginManager().callEvent(event);

        items = event.getItems();

        if(!items.isEmpty()) {
            for(ItemStack stack : items) {
                if(disp.getInventory().addItem(stack).isEmpty())
                    for(int i = 0; i < stack.getAmount(); i++)
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

                    }

                    BlockFace back = SignUtil.getBack(BukkitUtil.toSign(getSign()).getBlock());
                    Block pipe = getBackBlock().getRelative(back);

                    PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<ItemStack>(Arrays.asList(stack)), getBackBlock());
                    Bukkit.getPluginManager().callEvent(event);

                    if(event.getItems().isEmpty()) {
                        entity.remove();
                        return true;
                    }

                    if(!InventoryUtil.doesBlockHaveInventory(chest))
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

            return false;

        BlockFace back = SignUtil.getBack(BukkitUtil.toSign(getSign()).getBlock());
        Block pipe = getBackBlock().getRelative(back);

        PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<ItemStack>(Arrays.asList(stack)), getBackBlock());
        Bukkit.getPluginManager().callEvent(event);

        if(event.getItems().isEmpty()) {
            item.remove();
            return true;
        }

        if(!InventoryUtil.doesBlockHaveInventory(chest))
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

        if (isInAboveContainer(item) ^ inverted)
            b = SignUtil.getRightBlock(BukkitUtil.toSign(getSign()).getBlock()).getRelative(back);
        else
            b = SignUtil.getLeftBlock(BukkitUtil.toSign(getSign()).getBlock()).getRelative(back);

        PipeRequestEvent event = new PipeRequestEvent(b, new ArrayList<ItemStack>(Arrays.asList(item)), getBackBlock());
        Bukkit.getPluginManager().callEvent(event);

        for(ItemStack it : event.getItems())
            b.getWorld().dropItemNaturally(b.getLocation().add(0.5, 0.5, 0.5), it);

        return true;
    }
View Full Code Here

Examples of com.sk89q.craftbook.mechanics.pipe.PipeRequestEvent

        if (InventoryUtil.doesBlockHaveInventory(offset.getBlock())) {

            BlockFace back = SignUtil.getBack(BukkitUtil.toSign(getSign()).getBlock());
            Block pipe = getBackBlock().getRelative(back);

            PipeRequestEvent event = new PipeRequestEvent(pipe, new ArrayList<ItemStack>(Arrays.asList(item.clone())), getBackBlock());
            Bukkit.getPluginManager().callEvent(event);

            if(!event.isValid())
                return false;

            InventoryHolder c = (InventoryHolder) offset.getBlock().getState();
            for(ItemStack stack : event.getItems())
                if (c.getInventory().addItem(stack).isEmpty()) {
                    if(c instanceof BlockState)
                        ((BlockState) c).update();
                    return true;
                }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.