2017-01-30 21:22:36 +01:00
|
|
|
package net.ME1312.SubServers.Host.Network;
|
|
|
|
|
2018-09-09 00:06:21 +02:00
|
|
|
import net.ME1312.Galaxi.Library.Config.YAMLSection;
|
|
|
|
import net.ME1312.Galaxi.Library.Version.Version;
|
2017-01-30 21:22:36 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* PacketIn Layout Class
|
|
|
|
*/
|
|
|
|
public interface PacketIn {
|
|
|
|
/**
|
|
|
|
* Execute Incoming Packet
|
|
|
|
*
|
|
|
|
* @param data Incoming Data
|
|
|
|
*/
|
2018-04-15 03:53:51 +02:00
|
|
|
void execute(YAMLSection data) throws Throwable;
|
2017-01-30 21:22:36 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Packet Version
|
|
|
|
*
|
|
|
|
* @return Packet Version
|
|
|
|
*/
|
|
|
|
Version getVersion();
|
2018-01-13 22:22:13 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Check Compatibility with oncoming packet
|
|
|
|
*
|
|
|
|
* @param version Version of oncoming packet
|
|
|
|
* @return Compatibility Status
|
|
|
|
*/
|
|
|
|
default boolean isCompatible(Version version) {
|
|
|
|
return getVersion().equals(version);
|
|
|
|
}
|
2017-01-30 21:22:36 +01:00
|
|
|
}
|