Skip to content

Commit debe890

Browse files
committed
update ActionBuilder Input usage
1 parent 151cbc8 commit debe890

File tree

3 files changed

+40
-45
lines changed

3 files changed

+40
-45
lines changed

src/main/java/me/hsgamer/bettergui/action/type/OpenMenuAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import io.github.projectunified.minelib.scheduler.entity.EntityScheduler;
44
import me.hsgamer.bettergui.BetterGUI;
5-
import me.hsgamer.bettergui.api.action.MenuActionInput;
65
import me.hsgamer.bettergui.api.menu.Menu;
6+
import me.hsgamer.bettergui.builder.ActionBuilder;
77
import me.hsgamer.bettergui.config.MessageConfig;
88
import me.hsgamer.bettergui.manager.MenuManager;
99
import me.hsgamer.hscore.action.common.Action;
@@ -23,7 +23,7 @@ public class OpenMenuAction implements Action {
2323
private final String value;
2424
private final boolean bypass;
2525

26-
public OpenMenuAction(MenuActionInput input) {
26+
public OpenMenuAction(ActionBuilder.Input input) {
2727
this.menu = input.getMenu();
2828
this.value = input.getValue();
2929
this.bypass = input.getOption().equalsIgnoreCase("bypassChecks");

src/main/java/me/hsgamer/bettergui/api/action/MenuActionInput.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/main/java/me/hsgamer/bettergui/builder/ActionBuilder.java

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import me.hsgamer.bettergui.BetterGUI;
44
import me.hsgamer.bettergui.action.type.*;
5-
import me.hsgamer.bettergui.api.action.MenuActionInput;
65
import me.hsgamer.bettergui.api.menu.Menu;
6+
import me.hsgamer.bettergui.api.menu.MenuElement;
77
import me.hsgamer.hscore.action.builder.ActionInput;
88
import me.hsgamer.hscore.action.common.Action;
99
import me.hsgamer.hscore.bukkit.action.PlayerAction;
@@ -16,18 +16,18 @@
1616
/**
1717
* The action builder
1818
*/
19-
public final class ActionBuilder extends me.hsgamer.hscore.action.builder.ActionBuilder {
19+
public final class ActionBuilder extends me.hsgamer.hscore.action.builder.ActionBuilder<ActionBuilder.Input> {
2020
/**
2121
* The instance of the action builder
2222
*/
2323
public static final ActionBuilder INSTANCE = new ActionBuilder();
2424

2525
private ActionBuilder() {
2626
BukkitActionBuilder.register(this, BetterGUI.getInstance());
27-
register(input -> new OpenMenuAction((MenuActionInput) input), "open-menu", "open", "menu", "open-menu");
28-
register(input -> new BackAction(((MenuActionInput) input).getMenu()), "back-menu", "backmenu");
29-
register(input -> new CloseMenuAction(((MenuActionInput) input).getMenu()), "close-menu", "closemenu");
30-
register(input -> new UpdateMenuAction(((MenuActionInput) input).getMenu()), "update-menu", "updatemenu");
27+
register(OpenMenuAction::new, "open-menu", "open", "menu", "open-menu");
28+
register(input -> new BackAction(input.getMenu()), "back-menu", "backmenu");
29+
register(input -> new CloseMenuAction(input.getMenu()), "close-menu", "closemenu");
30+
register(input -> new UpdateMenuAction(input.getMenu()), "update-menu", "updatemenu");
3131
register(input -> new SoundAction(input.getValue()), "sound", "raw-sound");
3232
}
3333

@@ -40,11 +40,41 @@ private ActionBuilder() {
4040
* @return the list of actions
4141
*/
4242
public List<Action> build(Menu menu, Object object) {
43-
List<ActionInput> inputs = CollectionUtils.createStringListFromObject(object, true)
43+
List<Input> inputs = CollectionUtils.createStringListFromObject(object, true)
4444
.stream()
4545
.map(ActionInput::create)
46-
.map(input -> MenuActionInput.create(menu, input))
46+
.map(input -> Input.create(menu, input))
4747
.collect(Collectors.toList());
4848
return build(inputs, input -> new PlayerAction(BetterGUI.getInstance(), input.getValue()));
4949
}
50+
51+
public interface Input extends ActionInput, MenuElement {
52+
static Input create(Menu menu, ActionInput input) {
53+
return new Input() {
54+
@Override
55+
public String getType() {
56+
return input.getType();
57+
}
58+
59+
@Override
60+
public String getOption() {
61+
return input.getOption();
62+
}
63+
64+
@Override
65+
public String getValue() {
66+
return input.getValue();
67+
}
68+
69+
@Override
70+
public Menu getMenu() {
71+
return menu;
72+
}
73+
};
74+
}
75+
76+
static Input create(MenuElement menuElement, ActionInput input) {
77+
return create(menuElement.getMenu(), input);
78+
}
79+
}
5080
}

0 commit comments

Comments
 (0)