Java Code Examples for org.bukkit.entity.Item#getItemStack()

The following examples show how to use org.bukkit.entity.Item#getItemStack() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ItemListener.java    From MineTinker with GNU General Public License v3.0 6 votes vote down vote up
@EventHandler(ignoreCancelled = true)
public void onDespawn(ItemDespawnEvent event) {
	Item item = event.getEntity();
	ItemStack is = item.getItemStack();

	if (!((modManager.isArmorViable(is) || modManager.isToolViable(is) || modManager.isWandViable(is))
			|| (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.ForModItems")
			&& modManager.isModifierItem(is)))) {
		return;
	}

	if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.SetPersistent")) {
		event.setCancelled(true);
		item.setTicksLived(1);
	}
}
 
Example 2
Source File: Soulbound.java    From MineTinker with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Effect if a player drops an item
 *
 * @param event the event
 */
@EventHandler(ignoreCancelled = true)
public void effect(PlayerDropItemEvent event) {
	Item item = event.getItemDrop();
	ItemStack tool = item.getItemStack();

	if (!(modManager.isArmorViable(tool) || modManager.isToolViable(tool) || modManager.isWandViable(tool))) {
		return;
	}

	if (!modManager.hasMod(tool, this)) {
		return;
	}

	if (toolDroppable) {
		return;
	}

	ChatWriter.logModifier(event.getPlayer(), event, this, tool, "Tool not droppable");

	event.setCancelled(true);
}
 
Example 3
Source File: EnhancedItemListener.java    From EnchantmentsEnhance with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Prevents enhanced item from dropping.
 *
 * @param e
 */
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onItemDrop(PlayerDropItemEvent e) {
    Item droppedItem = e.getItemDrop();
    ItemStack DroppedItemStack = droppedItem.getItemStack();
    Player p = e.getPlayer();
    // Checks if the item is a bounded item
    if ((DroppedItemStack.hasItemMeta()) && (DroppedItemStack.getItemMeta()
            .getLore() != null)) {
        if (DroppedItemStack.getItemMeta().getLore().contains(Util.UNIQUEID + Util.toColor(
                SettingsManager.lang.getString("lore.untradeableLore")))) {
            e.setCancelled(true);
            Util.sendMessage(SettingsManager.lang.getString(
                    "messages.noDrop"), p);
        }
    }
}
 
Example 4
Source File: KitLoading.java    From AnnihilationPro with MIT License 6 votes vote down vote up
@EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
public void StopDrops(PlayerDropItemEvent event)
{
    Player player = event.getPlayer();
    Item item = event.getItemDrop();
    if(item != null)
    {
	    ItemStack stack = item.getItemStack();
	    if(stack != null)
	    {
		    if(KitUtils.isSoulbound(stack))
		    {
			    player.playSound(player.getLocation(), Sound.BLAZE_HIT, 1.0F, 0.3F);
			    event.getItemDrop().remove();
		    }
	    }
    }
}
 
Example 5
Source File: ItemListener.java    From MineTinker with GNU General Public License v3.0 5 votes vote down vote up
@EventHandler(ignoreCancelled = true)
public void onItemDrop(PlayerDropItemEvent event) {
	if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.DisableDroppingBehaviour")) {
		return;
	}

	Item item = event.getItemDrop();
	ItemStack is = item.getItemStack();

	boolean isMineTinker = false;

	if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.ForModItems")) {
		isMineTinker = modManager.isModifierItem(is);
	}
	if (modManager.isArmorViable(is) || modManager.isToolViable(is) || modManager.isWandViable(is)) {
		isMineTinker = true;
	}

	if (!isMineTinker) {
		return;
	}

	if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.ShowName") && is.getItemMeta() != null) {
		item.setCustomName(is.getItemMeta().getDisplayName());
		item.setCustomNameVisible(true);
	}

	if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.SetGlowing")) {
		item.setGlowing(true);
	}

	if (MineTinker.getPlugin().getConfig().getBoolean("ItemBehaviour.SetInvulnerable")) {
		item.setInvulnerable(true);
	}
}
 
Example 6
Source File: DisplayProtectionListener.java    From QuickShop-Reremake with GNU General Public License v3.0 5 votes vote down vote up
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void player(PlayerFishEvent event) {
    if (DisplayItem.getNowUsing() != DisplayType.REALITEM) {
        return;
    }
    if (event.getState() != State.CAUGHT_ENTITY) {
        return;
    }
    if (event.getCaught() == null) {
        return;
    }
    if (event.getCaught().getType() != EntityType.DROPPED_ITEM) {
        return;
    }
    final Item item = (Item) event.getCaught();
    final ItemStack is = item.getItemStack();
    if (!DisplayItem.checkIsGuardItemStack(is)) {
        return;
    }
    // item.remove();
    event.getHook().remove();
    // event.getCaught().remove();
    event.setCancelled(true);
    sendAlert(
            "[DisplayGuard] Player "
                    + event.getPlayer().getName()
                    + " trying hook item use Fishing Rod, QuickShop already removed it.");
    Util.inventoryCheck(event.getPlayer().getInventory());
}
 
Example 7
Source File: RaindropListener.java    From ProjectAres with GNU Affero General Public License v3.0 5 votes vote down vote up
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void handleItemDrop(final PlayerDropItemEvent event) {
    ParticipantState player = PGM.getMatchManager().getParticipantState(event.getPlayer());
    if(player == null) return;

    Competitor team = player.getParty();
    Item itemDrop = event.getItemDrop();
    ItemStack item = itemDrop.getItemStack();

    if (this.isDestroyableWool(item, team)) {
        this.droppedWools.put(itemDrop, player.getPlayerId());
    }
}
 
Example 8
Source File: DroppedItemData.java    From Skript with GNU General Public License v3.0 5 votes vote down vote up
@Override
protected boolean init(final @Nullable Class<? extends Item> c, final @Nullable Item e) {
	if (e != null) {
		final ItemStack i = e.getItemStack();
		if (i == null)
			return false;
		types = new ItemType[] {new ItemType(i)};
	}
	return true;
}
 
Example 9
Source File: GraphListener.java    From LagMonitor with MIT License 5 votes vote down vote up
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onDrop(PlayerDropItemEvent dropItemEvent) {
    Item itemDrop = dropItemEvent.getItemDrop();
    ItemStack mapItem = itemDrop.getItemStack();
    if (isOurGraph(mapItem)) {
        mapItem.setAmount(0);
    }
}
 
Example 10
Source File: GraphListener.java    From LagMonitor with MIT License 5 votes vote down vote up
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onDrop(PlayerDropItemEvent dropItemEvent) {
    Item itemDrop = dropItemEvent.getItemDrop();
    ItemStack mapItem = itemDrop.getItemStack();
    if (isOurGraph(mapItem)) {
        mapItem.setAmount(0);
    }
}
 
Example 11
Source File: ItemDropEvents.java    From uSkyBlock with GNU General Public License v3.0 5 votes vote down vote up
private void clearDropInfo(Item item) {
    ItemStack stack = item.getItemStack();
    ItemMeta meta = stack.getItemMeta();
    if (meta != null) {
        List<String> lore = meta.getLore();
        if (lore != null && !lore.isEmpty()) {
            lore.removeIf(line -> line.contains(tr("Owner: {0}", "")));
            meta.setLore(lore);
            stack.setItemMeta(meta);
            item.setItemStack(stack);
        }
    }
}
 
Example 12
Source File: SimpleMine.java    From NBTEditor with GNU General Public License v3.0 5 votes vote down vote up
@Override
public void onPickup(EntityPickupItemEvent event) {
	event.setCancelled(true);
	Item item = event.getItem();
	ItemStack stack = item.getItemStack();
	Location loc = item.getLocation();
	item.remove();
	loc.getWorld().createExplosion(loc.getX(), loc.getY(), loc.getZ(), 4f + 0.2f*stack.getAmount(), false, false);
}
 
Example 13
Source File: DropTransferModule.java    From Modern-LWC with MIT License 4 votes vote down vote up
@SuppressWarnings("deprecation")
@Override
public void onDropItem(LWCDropItemEvent event) {
    Player bPlayer = event.getPlayer();
    Item item = event.getEvent().getItemDrop();
    ItemStack itemStack = item.getItemStack();

    LWCPlayer player = lwc.wrapPlayer(bPlayer);
    int protectionId = getPlayerDropTransferTarget(player);

    if (protectionId == -1) {
        return;
    }

    if (!isPlayerDropTransferring(player)) {
        return;
    }

    Protection protection = lwc.getPhysicalDatabase().loadProtection(protectionId);

    if (protection == null) {
        lwc.sendLocale(player, "lwc.nolongerexists");
        player.disableMode(player.getMode("dropTransfer"));
        return;
    }

    // load the world and the inventory
    World world = player.getServer().getWorld(protection.getWorld());

    if (world == null) {
        lwc.sendLocale(player, "lwc.invalidworld");
        player.disableMode(player.getMode("dropTransfer"));
        return;
    }

    // Don't allow them to transfer items across worlds
    if (bPlayer.getWorld() != world && !lwc.getConfiguration().getBoolean("modes.droptransfer.crossWorld", false)) {
        lwc.sendLocale(player, "lwc.dropxfer.acrossworlds");
        player.disableMode(player.getMode("dropTransfer"));
        return;
    }

    Block block = world.getBlockAt(protection.getX(), protection.getY(), protection.getZ());
    Map<Integer, ItemStack> remaining = lwc.depositItems(block, itemStack);

    if (remaining == null || remaining.size() > 0) {
        lwc.sendLocale(player, "lwc.dropxfer.chestfull");
        event.getEvent().setCancelled(true);
    }

    bPlayer.updateInventory(); // if they're in the chest and dropping items, this is required
    item.remove();
}
 
Example 14
Source File: SoulboundRune.java    From Slimefun4 with GNU General Public License v3.0 4 votes vote down vote up
private void activate(Player p, PlayerDropItemEvent e, Item item) {
    // Being sure the entity is still valid and not picked up or whatsoever.
    if (!item.isValid()) {
        return;
    }

    Location l = item.getLocation();
    Collection<Entity> entites = l.getWorld().getNearbyEntities(l, RANGE, RANGE, RANGE, this::findCompatibleItem);
    Optional<Entity> optional = entites.stream().findFirst();

    if (optional.isPresent()) {
        Item entity = (Item) optional.get();
        ItemStack target = entity.getItemStack();

        SlimefunUtils.setSoulbound(target, true);

        if (target.getAmount() == 1) {
            e.setCancelled(true);

            // This lightning is just an effect, it deals no damage.
            l.getWorld().strikeLightningEffect(l);

            Slimefun.runSync(() -> {
                // Being sure entities are still valid and not picked up or whatsoever.
                if (item.isValid() && entity.isValid() && target.getAmount() == 1) {

                    l.getWorld().createExplosion(l, 0);
                    l.getWorld().playSound(l, Sound.ENTITY_GENERIC_EXPLODE, 0.3F, 1);

                    entity.remove();
                    item.remove();
                    l.getWorld().dropItemNaturally(l, target);

                    SlimefunPlugin.getLocalization().sendMessage(p, "messages.soulbound-rune.success", true);
                }
            }, 10L);
        }
        else {
            SlimefunPlugin.getLocalization().sendMessage(p, "messages.soulbound-rune.fail", true);
        }
    }
}