Skip to content

Commit 5de7818

Browse files
committed
use DialogPayload
1 parent 0cf824d commit 5de7818

7 files changed

Lines changed: 34 additions & 40 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
<properties>
2121
<core.version>4.5.7</core.version>
22-
<unidialog.version>1.4.0</unidialog.version>
22+
<unidialog.version>1.5.0</unidialog.version>
2323
<java.version>21</java.version>
2424
<project.mainClass>me.hsgamer.bettergui.betterdialogs.BetterDialogs</project.mainClass>
2525
<license.packageName>me.hsgamer.bettergui.betterdialogs.license</license.packageName>

src/main/java/me/hsgamer/bettergui/betterdialogs/component/input/BooleanInputComponent.java

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.github.projectunified.unidialog.adventure.input.AdventureBooleanInput;
1919
import io.github.projectunified.unidialog.core.input.BooleanInput;
2020
import io.github.projectunified.unidialog.core.input.DialogInputBuilder;
21+
import io.github.projectunified.unidialog.core.payload.DialogPayload;
2122
import me.hsgamer.bettergui.betterdialogs.DialogManagerProvider;
2223
import me.hsgamer.bettergui.betterdialogs.builder.DialogComponentBuilder;
2324
import me.hsgamer.bettergui.betterdialogs.text.Text;
@@ -29,7 +30,7 @@
2930
import java.util.Optional;
3031
import java.util.UUID;
3132

32-
public class BooleanInputComponent extends InputComponent<String> {
33+
public class BooleanInputComponent extends InputComponent<Boolean> {
3334
private final Text label;
3435
private final String initial;
3536
private final String onTrue;
@@ -67,25 +68,16 @@ protected void apply(Player player, DialogInputBuilder builder) {
6768
}
6869

6970
@Override
70-
protected String getValue(String value, UUID uuid, String args) {
71-
return value;
72-
}
73-
74-
@Override
75-
protected String convertValue(UUID uuid, String rawValue) {
76-
try {
77-
float value = Float.parseFloat(rawValue);
78-
rawValue = value == 0 ? "false" : "true";
79-
} catch (NumberFormatException e) {
80-
// Ignore the exception, keep the raw value as is
81-
}
82-
83-
if (rawValue.equalsIgnoreCase("true") || rawValue.equalsIgnoreCase("yes")) {
71+
protected String getValue(Boolean value, UUID uuid, String args) {
72+
if (value == Boolean.TRUE) {
8473
return StringReplacerApplier.replace(onTrue, uuid, this);
85-
} else if (rawValue.equalsIgnoreCase("false") || rawValue.equalsIgnoreCase("no")) {
86-
return StringReplacerApplier.replace(onFalse, uuid, this);
8774
} else {
88-
return rawValue;
75+
return StringReplacerApplier.replace(onFalse, uuid, this);
8976
}
9077
}
78+
79+
@Override
80+
protected Boolean getValue(String key, DialogPayload payload) {
81+
return payload.booleanValue(key);
82+
}
9183
}

src/main/java/me/hsgamer/bettergui/betterdialogs/component/input/InputComponent.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import io.github.projectunified.unidialog.core.dialog.Dialog;
1919
import io.github.projectunified.unidialog.core.input.DialogInputBuilder;
20+
import io.github.projectunified.unidialog.core.payload.DialogPayload;
2021
import me.hsgamer.bettergui.betterdialogs.builder.DialogComponentBuilder;
2122
import me.hsgamer.bettergui.betterdialogs.component.DialogComponent;
2223
import org.bukkit.entity.Player;
@@ -43,7 +44,7 @@ private static String normalizeName(String name) {
4344

4445
protected abstract String getValue(T value, UUID uuid, String args);
4546

46-
protected abstract T convertValue(UUID uuid, String rawValue);
47+
protected abstract T getValue(String key, DialogPayload payload);
4748

4849
public String getValue(UUID uuid, String args) {
4950
T value = values.get(uuid);
@@ -53,16 +54,13 @@ public String getValue(UUID uuid, String args) {
5354
return getValue(value, uuid, args);
5455
}
5556

56-
public void applyValue(UUID uuid, Map<String, String> map) {
57-
String rawValue = map.get(key);
58-
if (rawValue != null) {
59-
T value = convertValue(uuid, rawValue);
60-
if (value != null) {
61-
values.put(uuid, value);
62-
return;
63-
}
57+
public void applyValue(DialogPayload payload) {
58+
T value = getValue(key, payload);
59+
if (value == null) {
60+
values.remove(payload.owner());
61+
} else {
62+
values.put(payload.owner(), value);
6463
}
65-
values.remove(uuid);
6664
}
6765

6866
@Override

src/main/java/me/hsgamer/bettergui/betterdialogs/component/input/NumberInputComponent.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.github.projectunified.unidialog.adventure.input.AdventureNumberRangeInput;
1919
import io.github.projectunified.unidialog.core.input.DialogInputBuilder;
2020
import io.github.projectunified.unidialog.core.input.NumberRangeInput;
21+
import io.github.projectunified.unidialog.core.payload.DialogPayload;
2122
import me.hsgamer.bettergui.betterdialogs.DialogManagerProvider;
2223
import me.hsgamer.bettergui.betterdialogs.builder.DialogComponentBuilder;
2324
import me.hsgamer.bettergui.betterdialogs.text.Text;
@@ -113,7 +114,7 @@ protected String getValue(Number value, UUID uuid, String args) {
113114
}
114115

115116
@Override
116-
protected Number convertValue(UUID uuid, String rawValue) {
117-
return Validate.getNumber(rawValue).orElse(null);
117+
protected Number getValue(String key, DialogPayload payload) {
118+
return payload.numberValue(key);
118119
}
119120
}

src/main/java/me/hsgamer/bettergui/betterdialogs/component/input/SingleOptionInputComponent.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.github.projectunified.unidialog.adventure.input.AdventureSingleOptionInput;
1919
import io.github.projectunified.unidialog.core.input.DialogInputBuilder;
2020
import io.github.projectunified.unidialog.core.input.SingleOptionInput;
21+
import io.github.projectunified.unidialog.core.payload.DialogPayload;
2122
import me.hsgamer.bettergui.betterdialogs.DialogManagerProvider;
2223
import me.hsgamer.bettergui.betterdialogs.builder.DialogComponentBuilder;
2324
import me.hsgamer.bettergui.betterdialogs.text.Text;
@@ -92,7 +93,7 @@ protected String getValue(String value, UUID uuid, String args) {
9293
}
9394

9495
@Override
95-
protected String convertValue(UUID uuid, String rawValue) {
96-
return rawValue;
96+
protected String getValue(String key, DialogPayload payload) {
97+
return payload.textValue(key);
9798
}
9899
}

src/main/java/me/hsgamer/bettergui/betterdialogs/component/input/TextInputComponent.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.github.projectunified.unidialog.adventure.input.AdventureTextInput;
1919
import io.github.projectunified.unidialog.core.input.DialogInputBuilder;
2020
import io.github.projectunified.unidialog.core.input.TextInput;
21+
import io.github.projectunified.unidialog.core.payload.DialogPayload;
2122
import me.hsgamer.bettergui.betterdialogs.DialogManagerProvider;
2223
import me.hsgamer.bettergui.betterdialogs.builder.DialogComponentBuilder;
2324
import me.hsgamer.bettergui.betterdialogs.text.Text;
@@ -97,7 +98,7 @@ protected String getValue(String value, UUID uuid, String args) {
9798
}
9899

99100
@Override
100-
protected String convertValue(UUID uuid, String rawValue) {
101-
return rawValue;
101+
protected String getValue(String key, DialogPayload payload) {
102+
return payload.textValue(key);
102103
}
103104
}

src/main/java/me/hsgamer/bettergui/betterdialogs/menu/DialogMenu.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import io.github.projectunified.unidialog.adventure.dialog.AdventureDialog;
1919
import io.github.projectunified.unidialog.core.dialog.Dialog;
20+
import io.github.projectunified.unidialog.core.payload.DialogPayload;
2021
import me.hsgamer.bettergui.betterdialogs.DialogManagerProvider;
2122
import me.hsgamer.bettergui.betterdialogs.builder.DialogComponentBuilder;
2223
import me.hsgamer.bettergui.betterdialogs.component.DialogComponent;
@@ -122,19 +123,19 @@ public abstract class DialogMenu extends BaseMenu {
122123
return dialog;
123124
}
124125

125-
private void applyInputs(UUID uuid, Map<String, String> map) {
126+
private void applyInputs(DialogPayload payload) {
126127
for (DialogComponent component : componentMap.values()) {
127128
if (component instanceof InputComponent<?> inputComponent) {
128-
inputComponent.applyValue(uuid, map);
129+
inputComponent.applyValue(payload);
129130
}
130131
}
131132
}
132133

133134
public String registerAction(String actionName, Consumer<UUID> action) {
134135
String id = getName() + "_" + actionName;
135-
DialogManagerProvider.dialogManager().registerCustomAction(id, (uuid, map) -> {
136-
applyInputs(uuid, map);
137-
action.accept(uuid);
136+
DialogManagerProvider.dialogManager().registerCustomAction(id, payload -> {
137+
applyInputs(payload);
138+
action.accept(payload.owner());
138139
});
139140
return id;
140141
}

0 commit comments

Comments
 (0)