fancydialogs: Add quick actions command

This commit is contained in:
Oliver
2025-06-27 19:37:11 +02:00
parent 94fc5ebd73
commit 44761739a4
4 changed files with 57 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ import com.fancyinnovations.fancydialogs.api.FancyDialogs;
import com.fancyinnovations.fancydialogs.api.data.DialogData;
import com.fancyinnovations.fancydialogs.commands.DialogCMD;
import com.fancyinnovations.fancydialogs.commands.FancyDialogsCMD;
import com.fancyinnovations.fancydialogs.commands.QuickActionsCMD;
import com.fancyinnovations.fancydialogs.commands.TutorialCMD;
import com.fancyinnovations.fancydialogs.commands.types.DialogCommandType;
import com.fancyinnovations.fancydialogs.config.FDFeatureFlags;
@@ -222,6 +223,7 @@ public class FancyDialogsPlugin extends JavaPlugin implements FancyDialogs {
Lamp<BukkitCommandActor> lamp = lampBuilder.build();
lamp.register(FancyDialogsCMD.INSTANCE);
lamp.register(QuickActionsCMD.INSTANCE);
lamp.register(DialogCMD.INSTANCE);
lamp.register(TutorialCMD.INSTANCE);
}

View File

@@ -0,0 +1,39 @@
package com.fancyinnovations.fancydialogs.commands;
import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
import com.fancyinnovations.fancydialogs.api.Dialog;
import de.oliver.fancylib.translations.Translator;
import org.bukkit.entity.Player;
import revxrsal.commands.annotation.Command;
import revxrsal.commands.annotation.Description;
import revxrsal.commands.bukkit.annotation.CommandPermission;
public final class QuickActionsCMD {
public static final QuickActionsCMD INSTANCE = new QuickActionsCMD();
private final FancyDialogsPlugin plugin = FancyDialogsPlugin.get();
private final Translator translator = FancyDialogsPlugin.get().getTranslator();
private QuickActionsCMD() {
}
@Command({"quickactions", "qa"})
@Description("Opens the quick actions menu")
@CommandPermission("fancydialogs.commands.quickactions")
public void onQuickActionsOpen(
final Player actor
) {
String dialogID = plugin.getFancyDialogsConfig().getQuickActionsDialogID();
Dialog dialog = plugin.getDialogRegistry().get(dialogID);
if (dialog == null) {
plugin.getFancyLogger().error("Quick Actions dialog with ID '" + dialogID + "' not found.");
translator.translate("dialog.not_found")
.replace("id", dialogID)
.send(actor);
return;
}
dialog.open(actor);
}
}