Skip to content

Commit 0ed57a7

Browse files
authored
Fix some bugs. SimpleFormMenu's multi-line context (#7)
1 parent b54572a commit 0ed57a7

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

src/main/java/me/hsgamer/bettergui/betterforms/impl/custom/CustomFormMenu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ public class CustomFormMenu extends FormMenu<CustomForm, CustomFormResponse, Cus
3232
builder.register(LabelComponentProvider::new, "label", "text", "content");
3333
builder.register(DropdownComponentProvider::new, "dropdown", "select");
3434
builder.register(InputComponentProvider::new, "input");
35-
builder.register(SubmitComponentProvider::new, "slider");
35+
builder.register(SliderComponentProvider::new, "slider");
3636
builder.register(StepSliderComponentProvider::new, "step-slider", "step");
37-
builder.register(SubmitComponentProvider::new, "toggle", "switch");
37+
builder.register(ToggleComponentProvider::new, "toggle", "switch");
3838
}
3939

4040
public CustomFormMenu(FormSender sender, Config config) {

src/main/java/me/hsgamer/bettergui/betterforms/impl/simple/SimpleFormMenu.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.geysermc.cumulus.form.SimpleForm;
2626
import org.geysermc.cumulus.response.SimpleFormResponse;
2727

28-
import java.util.Optional;
28+
import java.util.List;
2929

3030
public class SimpleFormMenu extends FormMenu<SimpleForm, SimpleFormResponse, SimpleForm.Builder> {
3131
private static final ComponentProviderBuilder<SimpleForm, SimpleFormResponse, SimpleForm.Builder> builder = new ComponentProviderBuilder<>();
@@ -34,19 +34,27 @@ public class SimpleFormMenu extends FormMenu<SimpleForm, SimpleFormResponse, Sim
3434
builder.register(SimpleButtonComponentProvider::new, "button", "");
3535
}
3636

37-
private final String content;
37+
private final StringBuilder content = new StringBuilder();
3838

3939
public SimpleFormMenu(FormSender sender, Config config) {
4040
super(sender, config);
4141

42-
content = Optional.ofNullable(MapUtils.getIfFound(menuSettings, "content"))
43-
.map(Object::toString)
44-
.orElse("");
42+
Object source = MapUtils.getIfFound(menuSettings, "content");
43+
if (source == null) {
44+
return;
45+
}
46+
if (source instanceof List<?>) {
47+
for (Object item : (List<?>) source) {
48+
content.append(item.toString()).append("\n");
49+
}
50+
return;
51+
}
52+
content.append(source);
4553
}
4654

4755
@Override
4856
protected SimpleForm.Builder createFormBuilder(Player player) {
49-
return SimpleForm.builder().content(StringReplacerApplier.replace(content, player.getUniqueId(), this));
57+
return SimpleForm.builder().content(StringReplacerApplier.replace(content.toString(), player.getUniqueId(), this));
5058
}
5159

5260
@Override

0 commit comments

Comments
 (0)