mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
fancydialogs: Add DialogButtonClickedEvent
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
package com.fancyinnovations.fancydialogs.api.events;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class DialogButtonClickedEvent extends Event {
|
||||||
|
|
||||||
|
private static final HandlerList handlerList = new HandlerList();
|
||||||
|
|
||||||
|
private final Player player;
|
||||||
|
private final String dialogId;
|
||||||
|
private final String buttonId;
|
||||||
|
|
||||||
|
public DialogButtonClickedEvent(@NotNull Player player, @NotNull String dialogId, @NotNull String buttonId) {
|
||||||
|
super(!Bukkit.isPrimaryThread());
|
||||||
|
this.player = player;
|
||||||
|
this.dialogId = dialogId;
|
||||||
|
this.buttonId = buttonId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer() {
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDialogId() {
|
||||||
|
return dialogId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getButtonId() {
|
||||||
|
return buttonId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull HandlerList getHandlers() {
|
||||||
|
return handlerList;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
|
|||||||
import com.fancyinnovations.fancydialogs.actions.DialogAction;
|
import com.fancyinnovations.fancydialogs.actions.DialogAction;
|
||||||
import com.fancyinnovations.fancydialogs.api.Dialog;
|
import com.fancyinnovations.fancydialogs.api.Dialog;
|
||||||
import com.fancyinnovations.fancydialogs.api.data.DialogButton;
|
import com.fancyinnovations.fancydialogs.api.data.DialogButton;
|
||||||
|
import com.fancyinnovations.fancydialogs.api.events.DialogButtonClickedEvent;
|
||||||
import de.oliver.fancysitula.api.packets.FS_ServerboundCustomClickActionPacket;
|
import de.oliver.fancysitula.api.packets.FS_ServerboundCustomClickActionPacket;
|
||||||
import de.oliver.fancysitula.api.packets.FS_ServerboundPacket;
|
import de.oliver.fancysitula.api.packets.FS_ServerboundPacket;
|
||||||
import de.oliver.fancysitula.api.utils.FS_PacketListener;
|
import de.oliver.fancysitula.api.utils.FS_PacketListener;
|
||||||
@@ -39,6 +40,8 @@ public class CustomClickActionPacketListener {
|
|||||||
String dialogId = packet.getPayload().get("dialog_id");
|
String dialogId = packet.getPayload().get("dialog_id");
|
||||||
String buttonId = packet.getPayload().get("button_id");
|
String buttonId = packet.getPayload().get("button_id");
|
||||||
|
|
||||||
|
new DialogButtonClickedEvent(event.player(), dialogId, buttonId).callEvent();
|
||||||
|
|
||||||
Dialog dialog = FancyDialogsPlugin.get().getDialogRegistry().get(dialogId);
|
Dialog dialog = FancyDialogsPlugin.get().getDialogRegistry().get(dialogId);
|
||||||
if (dialog == null) {
|
if (dialog == null) {
|
||||||
FancyDialogsPlugin.get().getFancyLogger().warn("Received action for unknown dialog: " + dialogId);
|
FancyDialogsPlugin.get().getFancyLogger().warn("Received action for unknown dialog: " + dialogId);
|
||||||
|
|||||||
Reference in New Issue
Block a user