@EventHandler
public void pickupItemEvent(PlayerPickupItemEvent event) {
UUID iuuid = event.getItem().getUniqueId();
if (itemMapTime.containsKey(iuuid)) {
if (System.currentTimeMillis() - itemMapTime.get(iuuid) < 10000) {
UUID owneruuid = itemMapOwner.get(iuuid);
Player owner = plugin.getServer().getPlayer(owneruuid);
PlayerDataRPG pdo = plugin.getPD(owner);
PlayerDataRPG pd = plugin.getPD(event.getPlayer());
if (owneruuid == null || owneruuid.equals(event.getPlayer().getUniqueId()) || (pdo != null && pd != null && pd.party != null && pd.party != pdo.party && pd.party.isLootshareActive())) {
itemMapTime.remove(iuuid);
itemMapOwner.remove(iuuid);
return; // all good
} else {
event.setCancelled(true);
if (plugin.getPD(event.getPlayer()) != null && plugin.getPD(event.getPlayer()).getOption(SakiOption.ITEM_PROTECT)) {
if (playerMapMessaged.containsKey(event.getPlayer().getUniqueId()) && System.currentTimeMillis() - playerMapMessaged.get(event.getPlayer().getUniqueId()) < 5000) {
// dont spam msg
} else {
event.getPlayer().sendMessage(ChatColor.RED + " You can't pick up this item yet because of item protection!");
event.getPlayer().sendMessage(ChatColor.RED + " Monster drops are only lootable by the highest damage dealer for 10 seconds.");
event.getPlayer().sendMessage(ChatColor.RED + " Skill-related items are only lootable by the creator of the item for 10 seconds.");
playerMapMessaged.put(event.getPlayer().getUniqueId(), System.currentTimeMillis());
}
}
}
} else {
itemMapTime.remove(iuuid);
itemMapOwner.remove(iuuid);
}
}
}
DropManager.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:ZentrelaRPG
作者:
评论列表
文章目录