@EventHandler(ignoreCancelled = true) private void cartHopperPickup(InventoryPickupItemEvent event){ if(hasRegenArea() && minigame.hasPlayers() && event.getInventory().getHolder() instanceof HopperMinecart){ Location loc = ((HopperMinecart)event.getInventory().getHolder()).getLocation(); if(blockInRegenArea(loc)){ addEntity((HopperMinecart)event.getInventory().getHolder(), null, false); } } }
@EventHandler(ignoreCancelled = true) public void onInventoryPickupItem (InventoryPickupItemEvent event) { //prevent hoppers from picking-up items dropped by players on death InventoryHolder holder = event.getInventory().getHolder(); if(holder instanceof HopperMinecart || holder instanceof Hopper) { Item item = event.getItem(); List<MetadataValue> data = item.getMetadata("GP_ITEMOWNER"); //if this is marked as belonging to a player if(data != null && data.size() > 0) { //don't allow the pickup event.setCancelled(true); } } } }