package com.gmail.zahusek.tinyprotocolapi.listener;
import org.bukkit.plugin.Plugin;
import com.gmail.zahusek.tinyprotocolapi.asm.reflection.ClassAccess;
import com.gmail.zahusek.tinyprotocolapi.element.PacketType;
public class RegisteredPacket
{
private final PacketType type;
private final PacketListener listener;
private final PacketExecutor executor;
private final PacketPriority priority;
private final Plugin plugin;
private final boolean cancelled;
private final ClassAccess access;
public RegisteredPacket (PacketType a, PacketListener b, PacketExecutor c,
PacketPriority d, Plugin e, boolean f,
ClassAccess g)
{
this.type = a;
this.listener = b;
this.executor = c;
this.priority = d;
this.plugin = e;
this.cancelled = f;
this.access = g;
}
public Class<?> getParentClass () { return listener.getClass(); }
public ClassAccess getAccessor () { return access; }
public PacketType getType ()
{ return type; }
public PacketListener getListener ()
{ return listener; }
public Plugin getPlugin ()
{ return plugin; }
public PacketPriority getPriority ()
{return priority;}
public void callEvent (PacketEvent event) throws Exception
{
if (!event.isCancelled() || !isIgnoringCancelled())
executor.call(listener, event);
}
public boolean isIgnoringCancelled ()
{return cancelled;}
}