2022-02-24 07:21:56 +00:00
|
|
|
package dev.plex.packet;
|
|
|
|
|
|
|
|
import dev.plex.Blackout;
|
|
|
|
import net.minecraft.network.protocol.Packet;
|
|
|
|
import net.minecraft.world.entity.player.Player;
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
|
2022-02-28 20:35:20 +00:00
|
|
|
import java.lang.reflect.Field;
|
|
|
|
|
2022-02-24 07:21:56 +00:00
|
|
|
public interface IPacketListener<T extends Packet<?>> extends Listener
|
|
|
|
{
|
|
|
|
default boolean onReceive(Player player, T t)
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
default Blackout plugin()
|
|
|
|
{
|
|
|
|
return Blackout.getPlugin();
|
|
|
|
}
|
2022-02-28 20:35:20 +00:00
|
|
|
|
|
|
|
default <J> J getFromField(Object object, String name)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
Field field = object.getClass().getDeclaredField(name);
|
|
|
|
field.setAccessible(true);
|
|
|
|
return (J) field.get(object);
|
|
|
|
} catch (NoSuchFieldException | IllegalAccessException e)
|
|
|
|
{
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
2022-02-24 07:21:56 +00:00
|
|
|
}
|