private void newGlobalItem(GroundItem item) { if (item == null) { return; } item = itemExists(item); if (item != null) { item.setGlobal(true); foreach(Player p in Server.getPlayerList()) { if (p == null || (item.getDefinition().isPlayerBound() && !item.getOwner().Equals(p))) { continue; } if (p.getLocation().withinDistance(item.getLocation(), 60)) { if(item.getOwner() != null) { p.getPackets().createGroundItem2(item); } else { p.getPackets().createGroundItem(item); } } } if (!item.getDefinition().isPlayerBound()) { item.setOwner(null); } GroundItem i = item; if (!item.isRespawn()) { Event removeGlobalItemEvent = new Event(60000); removeGlobalItemEvent.setAction(() => { clearGlobalItem(i); removeGlobalItemEvent.stop(); }); Server.registerEvent(removeGlobalItemEvent); } } }
public void newWorldItem(GroundItem item) { lock(items) { items.Add(item); } item.setOwner(null); newGlobalItem(item); }