package npc.model;
import java.util.Collections;
import java.util.List;
import l2p.gameserver.holders.npcs.NpcTemplate;
import l2p.gameserver.model.Creature;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.instances.NpcInstance;
import l2p.gameserver.network.s2c.L2GameServerPacket;
public class OnlyOwnerVisibleNpcInstance extends NpcInstance
{
private Player _owner;
public OnlyOwnerVisibleNpcInstance(int objectId, NpcTemplate template)
{
super(objectId, template);
}
public void setOwner(Player owner)
{
_owner = owner;
}
public Player getOwner()
{
return _owner;
}
@Override
public void broadcastPacket(L2GameServerPacket... packets)
{
if (_owner != null)
_owner.sendPacket(packets);
}
@Override
public void broadcastPacketToOthers(int range, L2GameServerPacket... packets)
{
if (_owner != null)
_owner.sendPacket(packets);
}
@Override
public void broadcastCharInfoImpl()
{
if (_owner != null)
_owner.sendPacket(new NpcInfo(this, _owner).update());
}
@Override
public List<L2GameServerPacket> addPacketList(Player forPlayer, Creature dropper)
{
if (forPlayer != _owner)
return Collections.emptyList();
return super.addPacketList(forPlayer, dropper);
}
}