parent
7c7e98e5e6
commit
6274cb7536
|
|
@ -21,11 +21,13 @@ package me.ryanhamshire.GriefPrevention;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.Tag;
|
import org.bukkit.Tag;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
|
|
@ -882,8 +884,8 @@ public class BlockEventHandler implements Listener
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(ignoreCancelled = true)
|
@EventHandler(ignoreCancelled = true)
|
||||||
public void onInventoryPickupItem (InventoryPickupItemEvent event)
|
public void onInventoryPickupItem (InventoryPickupItemEvent event)
|
||||||
{
|
{
|
||||||
//prevent hoppers from picking-up items dropped by players on death
|
//prevent hoppers from picking-up items dropped by players on death
|
||||||
|
|
||||||
InventoryHolder holder = event.getInventory().getHolder();
|
InventoryHolder holder = event.getInventory().getHolder();
|
||||||
|
|
@ -891,12 +893,23 @@ public class BlockEventHandler implements Listener
|
||||||
{
|
{
|
||||||
Item item = event.getItem();
|
Item item = event.getItem();
|
||||||
List<MetadataValue> data = item.getMetadata("GP_ITEMOWNER");
|
List<MetadataValue> data = item.getMetadata("GP_ITEMOWNER");
|
||||||
|
|
||||||
//if this is marked as belonging to a player
|
//if this is marked as belonging to a player
|
||||||
if(data != null && data.size() > 0)
|
if(data != null && data.size() > 0)
|
||||||
{
|
{
|
||||||
//don't allow the pickup
|
UUID ownerID = (UUID)data.get(0).value();
|
||||||
event.setCancelled(true);
|
|
||||||
|
//has that player unlocked his drops?
|
||||||
|
OfflinePlayer owner = GriefPrevention.instance.getServer().getOfflinePlayer(ownerID);
|
||||||
|
if(owner.isOnline())
|
||||||
|
{
|
||||||
|
PlayerData playerData = this.dataStore.getPlayerData(ownerID);
|
||||||
|
|
||||||
|
//if locked, don't allow pickup
|
||||||
|
if(!playerData.dropsAreUnlocked)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user