diff --git a/src/main/java/lol/vera/spigot/VeraSpigotAPI.java b/src/main/java/lol/vera/spigot/VeraSpigotAPI.java index e0ddac0..6fcff5a 100644 --- a/src/main/java/lol/vera/spigot/VeraSpigotAPI.java +++ b/src/main/java/lol/vera/spigot/VeraSpigotAPI.java @@ -1,9 +1,9 @@ package lol.vera.spigot; import lol.vera.spigot.implementation.KnockbackImplementation; +import lol.vera.spigot.implementation.SpigotImplementation; import lombok.Data; - @Data public class VeraSpigotAPI { @@ -11,4 +11,8 @@ public class VeraSpigotAPI { private KnockbackImplementation knockback = new KnockbackImplementation.DEFAULT(); + + private SpigotImplementation spigot + = new SpigotImplementation.DEFAULT(); + } \ No newline at end of file diff --git a/src/main/java/lol/vera/spigot/implementation/SpigotImplementation.java b/src/main/java/lol/vera/spigot/implementation/SpigotImplementation.java new file mode 100644 index 0000000..fbca29f --- /dev/null +++ b/src/main/java/lol/vera/spigot/implementation/SpigotImplementation.java @@ -0,0 +1,25 @@ +package lol.vera.spigot.implementation; + +import lol.vera.spigot.packet.MovementHandler; +import lol.vera.spigot.packet.PacketHandler; +import org.bukkit.plugin.java.JavaPlugin; + +public interface SpigotImplementation { + + void registerPacketHandler(JavaPlugin plugin, PacketHandler handler); + + void registerMovementHandler(JavaPlugin plugin, MovementHandler handler); + + class DEFAULT implements SpigotImplementation { + + @Override + public void registerPacketHandler(JavaPlugin plugin, PacketHandler handler) { + } + + @Override + public void registerMovementHandler(JavaPlugin plugin, MovementHandler handler) { + } + + } + +} \ No newline at end of file diff --git a/src/main/java/lol/vera/spigot/packet/MovementHandler.java b/src/main/java/lol/vera/spigot/packet/MovementHandler.java new file mode 100644 index 0000000..b2bbfbc --- /dev/null +++ b/src/main/java/lol/vera/spigot/packet/MovementHandler.java @@ -0,0 +1,16 @@ +package lol.vera.spigot.packet; + +import org.bukkit.Location; +import org.bukkit.entity.Player; + +public interface MovementHandler { + + /** + * @param player The {@link Player} who has moved + * @param to The {@link Location} the player came from + * @param from The {@link Location} the player is going to + * @param packet The flying packet + */ + void handleMove(Player player, Location to, Location from, Object packet); + +} \ No newline at end of file diff --git a/src/main/java/lol/vera/spigot/packet/PacketHandler.java b/src/main/java/lol/vera/spigot/packet/PacketHandler.java new file mode 100644 index 0000000..90df9a4 --- /dev/null +++ b/src/main/java/lol/vera/spigot/packet/PacketHandler.java @@ -0,0 +1,11 @@ +package lol.vera.spigot.packet; + +import org.bukkit.entity.Player; + +public interface PacketHandler { + + boolean handleSent(Player player, Object packet); + + boolean handleReceived(Player player, Object packet); + +} \ No newline at end of file