Skip to content

Commit 3aaa364

Browse files
fancydialogs: Make dialog action registry accessible through api
1 parent a3be8d7 commit 3aaa364

11 files changed

Lines changed: 45 additions & 14 deletions

File tree

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/DialogAction.java renamed to plugins/fancydialogs/fd-api/src/main/java/com/fancyinnovations/fancydialogs/api/DialogAction.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
package com.fancyinnovations.fancydialogs.actions;
1+
package com.fancyinnovations.fancydialogs.api;
22

3-
import com.fancyinnovations.fancydialogs.api.Dialog;
43
import org.bukkit.entity.Player;
54

65
public interface DialogAction {
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.fancyinnovations.fancydialogs.api;
2+
3+
public interface DialogActionRegistry {
4+
5+
/**
6+
* Registers a dialog action with the given ID.
7+
*
8+
* @param actionId The unique identifier for the action.
9+
* @param action The dialog action to register.
10+
* @throws IllegalArgumentException if an action with the same ID is already registered.
11+
*/
12+
void registerAction(String actionId, DialogAction action);
13+
14+
/**
15+
* Retrieves a dialog action by its ID.
16+
*
17+
* @param actionId The unique identifier for the action.
18+
* @return The dialog action associated with the given ID, or null if not found.
19+
*/
20+
DialogAction getAction(String actionId);
21+
22+
}

plugins/fancydialogs/fd-api/src/main/java/com/fancyinnovations/fancydialogs/api/FancyDialogs.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ static FancyDialogs get() {
1515

1616
DialogRegistry getDialogRegistry();
1717

18+
DialogActionRegistry getDialogActionRegistry();
19+
1820
}

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/FancyDialogsPlugin.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.fancyinnovations.fancydialogs;
22

3-
import com.fancyinnovations.fancydialogs.actions.ActionRegistry;
3+
import com.fancyinnovations.fancydialogs.actions.ActionRegistryImpl;
44
import com.fancyinnovations.fancydialogs.api.Dialog;
5+
import com.fancyinnovations.fancydialogs.api.DialogActionRegistry;
56
import com.fancyinnovations.fancydialogs.api.FancyDialogs;
67
import com.fancyinnovations.fancydialogs.api.data.DialogData;
78
import com.fancyinnovations.fancydialogs.commands.DialogCMD;
@@ -50,7 +51,7 @@ public class FancyDialogsPlugin extends JavaPlugin implements FancyDialogs {
5051
private Translator translator;
5152
private DialogRegistry dialogRegistry;
5253
private DialogStorage dialogStorage;
53-
private ActionRegistry actionRegistry;
54+
private ActionRegistryImpl actionRegistry;
5455

5556
public FancyDialogsPlugin() {
5657
INSTANCE = this;
@@ -111,7 +112,7 @@ public void onLoad() {
111112

112113
DefaultDialogs.registerDefaultDialogs();
113114

114-
actionRegistry = new ActionRegistry();
115+
actionRegistry = new ActionRegistryImpl();
115116

116117
fancyLogger.info("Successfully loaded FancyDialogs version %s".formatted(getDescription().getVersion()));
117118
}
@@ -208,11 +209,16 @@ public DialogRegistry getDialogRegistry() {
208209
return dialogRegistry;
209210
}
210211

212+
@Override
213+
public DialogActionRegistry getDialogActionRegistry() {
214+
return actionRegistry;
215+
}
216+
211217
public DialogStorage getDialogStorage() {
212218
return dialogStorage;
213219
}
214220

215-
public ActionRegistry getActionRegistry() {
221+
public ActionRegistryImpl getActionRegistry() {
216222
return actionRegistry;
217223
}
218224
}

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/ActionRegistry.java renamed to plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/ActionRegistryImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package com.fancyinnovations.fancydialogs.actions;
22

33
import com.fancyinnovations.fancydialogs.actions.defaultActions.*;
4+
import com.fancyinnovations.fancydialogs.api.DialogAction;
5+
import com.fancyinnovations.fancydialogs.api.DialogActionRegistry;
46

57
import java.util.Map;
68
import java.util.concurrent.ConcurrentHashMap;
79

8-
public class ActionRegistry {
10+
public class ActionRegistryImpl implements DialogActionRegistry {
911

1012
private final Map<String, DialogAction> actions;
1113

12-
public ActionRegistry() {
14+
public ActionRegistryImpl() {
1315
this.actions = new ConcurrentHashMap<>();
1416

1517
registerDefaultActions();

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/defaultActions/ConsoleCommandDialogAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.fancyinnovations.fancydialogs.actions.defaultActions;
22

33
import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
4-
import com.fancyinnovations.fancydialogs.actions.DialogAction;
54
import com.fancyinnovations.fancydialogs.api.Dialog;
5+
import com.fancyinnovations.fancydialogs.api.DialogAction;
66
import org.bukkit.Bukkit;
77
import org.bukkit.entity.Player;
88

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/defaultActions/MessageDialogAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.fancyinnovations.fancydialogs.actions.defaultActions;
22

3-
import com.fancyinnovations.fancydialogs.actions.DialogAction;
43
import com.fancyinnovations.fancydialogs.api.Dialog;
4+
import com.fancyinnovations.fancydialogs.api.DialogAction;
55
import net.kyori.adventure.text.Component;
66
import org.bukkit.entity.Player;
77
import org.lushplugins.chatcolorhandler.ModernChatColorHandler;

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/defaultActions/OpenDialogDialogAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.fancyinnovations.fancydialogs.actions.defaultActions;
22

33
import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
4-
import com.fancyinnovations.fancydialogs.actions.DialogAction;
54
import com.fancyinnovations.fancydialogs.api.Dialog;
5+
import com.fancyinnovations.fancydialogs.api.DialogAction;
66
import org.bukkit.entity.Player;
77

88
public class OpenDialogDialogAction implements DialogAction {

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/defaultActions/PlayerCommandDialogAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.fancyinnovations.fancydialogs.actions.defaultActions;
22

33
import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
4-
import com.fancyinnovations.fancydialogs.actions.DialogAction;
54
import com.fancyinnovations.fancydialogs.api.Dialog;
5+
import com.fancyinnovations.fancydialogs.api.DialogAction;
66
import org.bukkit.Bukkit;
77
import org.bukkit.entity.Player;
88
import org.lushplugins.chatcolorhandler.ChatColorHandler;

plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/actions/defaultActions/SendToServerDialogAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.fancyinnovations.fancydialogs.actions.defaultActions;
22

33
import com.fancyinnovations.fancydialogs.FancyDialogsPlugin;
4-
import com.fancyinnovations.fancydialogs.actions.DialogAction;
54
import com.fancyinnovations.fancydialogs.api.Dialog;
5+
import com.fancyinnovations.fancydialogs.api.DialogAction;
66
import com.google.common.io.ByteArrayDataOutput;
77
import com.google.common.io.ByteStreams;
88
import org.bukkit.entity.Player;

0 commit comments

Comments
 (0)