fancydialogs: Add dialog registry

This commit is contained in:
Oliver
2025-05-15 20:16:16 +02:00
committed by Oliver
parent f56c9f1bea
commit 41df112420
2 changed files with 42 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
package com.fancyinnovations.fancydialogs;
import com.fancyinnovations.fancydialogs.registry.DialogRegistry;
import de.oliver.fancyanalytics.logger.ExtendedFancyLogger;
import de.oliver.fancyanalytics.logger.LogLevel;
import de.oliver.fancyanalytics.logger.appender.Appender;
@@ -7,7 +8,6 @@ import de.oliver.fancyanalytics.logger.appender.ConsoleAppender;
import de.oliver.fancyanalytics.logger.appender.JsonAppender;
import de.oliver.fancylib.serverSoftware.ServerSoftware;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.text.SimpleDateFormat;
@@ -20,6 +20,8 @@ public class FancyDialogsPlugin extends JavaPlugin {
private static FancyDialogsPlugin INSTANCE;
private final ExtendedFancyLogger fancyLogger;
private DialogRegistry dialogRegistry;
public FancyDialogsPlugin() {
INSTANCE = this;
@@ -40,6 +42,8 @@ public class FancyDialogsPlugin extends JavaPlugin {
@Override
public void onLoad() {
dialogRegistry = new DialogRegistry();
fancyLogger.info("Successfully loaded FancyDialogs version %s".formatted(getDescription().getVersion()));
}

View File

@@ -0,0 +1,37 @@
package com.fancyinnovations.fancydialogs.registry;
import com.fancyinnovations.fancydialogs.api.Dialog;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class DialogRegistry {
private final Map<String, Dialog> dialogs;
public DialogRegistry() {
this.dialogs = new ConcurrentHashMap<>();
}
public void register(@NotNull Dialog dialog) {
dialogs.put(dialog.getId(), dialog);
}
public void unregister(@NotNull String id) {
dialogs.remove(id);
}
public Dialog get(@NotNull String id) {
return dialogs.get(id);
}
public Collection<Dialog> getAll() {
return dialogs.values();
}
public void clear() {
dialogs.clear();
}
}