packets: Add packet listener

This commit is contained in:
Oliver
2025-06-15 17:57:51 +02:00
committed by Oliver
parent 8c569f90d5
commit 627f50467c
10 changed files with 256 additions and 2 deletions

View File

@@ -2,15 +2,46 @@ package de.oliver.fancysitula;
import de.oliver.fancyanalytics.logger.LogLevel;
import de.oliver.fancysitula.api.IFancySitula;
import de.oliver.fancysitula.api.packets.FS_ServerboundCustomClickActionPacket;
import de.oliver.fancysitula.api.packets.FS_ServerboundPacket;
import de.oliver.fancysitula.api.utils.FS_PacketListener;
import de.oliver.fancysitula.commands.FancySitulaCMD;
import de.oliver.fancysitula.factories.FancySitula;
import de.oliver.fancysitula.listener.PlayerJoinListener;
import org.bukkit.plugin.java.JavaPlugin;
public class FancySitulaPlugin extends JavaPlugin {
private static FancySitulaPlugin instance;
private FS_PacketListener packetListener;
public FancySitulaPlugin() {
instance = this;
}
public static FancySitulaPlugin getInstance() {
return instance;
}
@Override
public void onLoad() {
packetListener = FancySitula.PACKET_LISTENER_FACTORY.createPacketListener(FS_ServerboundPacket.Type.CUSTOM_CLICK_ACTION);
packetListener.addListener((event) -> {
FS_ServerboundCustomClickActionPacket packet = (FS_ServerboundCustomClickActionPacket) event.packet();
System.out.println("Received custom click action packet: " + packet.getId() + " with payload: " + packet.getPayload().orElse("No payload"));
});
}
@Override
public void onEnable() {
IFancySitula.LOGGER.setCurrentLevel(LogLevel.DEBUG);
getServer().getCommandMap().register("fancysitula", new FancySitulaCMD());
getServer().getPluginManager().registerEvents(new PlayerJoinListener(), this);
}
public FS_PacketListener getPacketListener() {
return packetListener;
}
}

View File

@@ -4,6 +4,7 @@ import de.oliver.fancysitula.api.dialogs.FS_CommonDialogData;
import de.oliver.fancysitula.api.dialogs.FS_DialogAction;
import de.oliver.fancysitula.api.dialogs.actions.FS_CommonButtonData;
import de.oliver.fancysitula.api.dialogs.actions.FS_DialogActionButton;
import de.oliver.fancysitula.api.dialogs.actions.FS_DialogCustomAction;
import de.oliver.fancysitula.api.dialogs.body.FS_DialogTextBody;
import de.oliver.fancysitula.api.dialogs.inputs.FS_DialogBooleanInput;
import de.oliver.fancysitula.api.dialogs.inputs.FS_DialogInput;
@@ -102,7 +103,10 @@ public class FancySitulaCMD extends Command {
"tooltip1",
40
),
null
new FS_DialogCustomAction(
"my-custom-action-1",
"someAdditionalData1"
)
)
);

View File

@@ -0,0 +1,14 @@
package de.oliver.fancysitula.listener;
import de.oliver.fancysitula.FancySitulaPlugin;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class PlayerJoinListener implements Listener {
@EventHandler
public void onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent event) {
FancySitulaPlugin.getInstance().getPacketListener().inject(event.getPlayer());
}
}