mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
fancydialogs: Register default dialogs
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
package com.fancyinnovations.fancydialogs;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.api.Dialog;
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogBodyData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogButton;
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.commands.TutorialCMD;
|
||||
import com.fancyinnovations.fancydialogs.config.FDFeatureFlags;
|
||||
import com.fancyinnovations.fancydialogs.config.FancyDialogsConfig;
|
||||
import com.fancyinnovations.fancydialogs.dialog.DialogImpl;
|
||||
import com.fancyinnovations.fancydialogs.listener.PlayerJoinListener;
|
||||
import com.fancyinnovations.fancydialogs.registry.DefaultDialogs;
|
||||
import com.fancyinnovations.fancydialogs.registry.DialogRegistry;
|
||||
import com.fancyinnovations.fancydialogs.storage.DialogStorage;
|
||||
import com.fancyinnovations.fancydialogs.storage.JsonDialogStorage;
|
||||
@@ -92,25 +91,6 @@ public class FancyDialogsPlugin extends JavaPlugin {
|
||||
dialogStorage = new JsonDialogStorage();
|
||||
Collection<DialogData> dialogData = dialogStorage.loadAll();
|
||||
|
||||
DialogData welcomeDialog = new DialogData(
|
||||
"welcome_to_fancydialogs_dialog",
|
||||
"Welcome to FancyDialogs",
|
||||
"Welcome to FancyDialogs",
|
||||
false,
|
||||
List.of(
|
||||
new DialogBodyData("Welcome to FancyDialogs! This is a sample dialog to get you started.")
|
||||
),
|
||||
List.of(
|
||||
new DialogButton(
|
||||
"Close",
|
||||
"Close the dialog",
|
||||
"close_dialog"
|
||||
)
|
||||
)
|
||||
);
|
||||
dialogStorage.save(welcomeDialog);
|
||||
dialogData.add(welcomeDialog);
|
||||
|
||||
List<Dialog> dialogs = new ArrayList<>();
|
||||
for (DialogData data : dialogData) {
|
||||
Dialog dialog = new DialogImpl(data.id(), data);
|
||||
@@ -121,6 +101,8 @@ public class FancyDialogsPlugin extends JavaPlugin {
|
||||
dialogRegistry = new DialogRegistry();
|
||||
dialogs.forEach(dialogRegistry::register);
|
||||
|
||||
DefaultDialogs.registerDefaultDialogs();
|
||||
|
||||
fancyLogger.info("Successfully loaded FancyDialogs version %s".formatted(getDescription().getVersion()));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.fancyinnovations.fancydialogs.registry;
|
||||
|
||||
import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogBodyData;
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogButton;
|
||||
import com.fancyinnovations.fancydialogs.api.data.DialogData;
|
||||
import com.fancyinnovations.fancydialogs.dialog.DialogImpl;
|
||||
import com.fancyinnovations.fancydialogs.storage.DialogStorage;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
public class DefaultDialogs {
|
||||
|
||||
private static final DialogRegistry registry = FancyDialogsPlugin.get().getDialogRegistry();
|
||||
private static final DialogStorage storage = FancyDialogsPlugin.get().getDialogStorage();
|
||||
|
||||
public static void registerDefaultDialogs() {
|
||||
File dialogsFolder = new File("plugins/FancyDialogs/data/dialogs");
|
||||
if (dialogsFolder.exists()) {
|
||||
return;
|
||||
}
|
||||
dialogsFolder.mkdirs();
|
||||
|
||||
welcomeDialog();
|
||||
}
|
||||
|
||||
private static void welcomeDialog() {
|
||||
DialogData data = new DialogData(
|
||||
"welcome_to_fancydialogs_dialog",
|
||||
"Welcome to FancyDialogs",
|
||||
"Welcome to FancyDialogs",
|
||||
false,
|
||||
List.of(
|
||||
new DialogBodyData("Welcome to FancyDialogs! This is a sample dialog to get you started.")
|
||||
),
|
||||
List.of(
|
||||
new DialogButton(
|
||||
"Close",
|
||||
"Close the dialog",
|
||||
"close_dialog"
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
register(data);
|
||||
}
|
||||
|
||||
private static void register(DialogData dialogData) {
|
||||
DialogImpl dialog = new DialogImpl(dialogData.id(), dialogData);
|
||||
storage.save(dialogData);
|
||||
registry.register(dialog);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user