Skip to content

Commit 551c632

Browse files
committed
support multiline in Modal and Simple Form
1 parent c80d46c commit 551c632

4 files changed

Lines changed: 12 additions & 5 deletions

File tree

src/main/java/me/hsgamer/bettergui/betterforms/impl/modal/ModalFormMenu.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import me.hsgamer.bettergui.betterforms.api.builder.ComponentProviderBuilder;
1919
import me.hsgamer.bettergui.betterforms.api.menu.FormMenu;
2020
import me.hsgamer.bettergui.betterforms.api.sender.FormSender;
21+
import me.hsgamer.bettergui.betterforms.util.ComponentUtil;
2122
import me.hsgamer.bettergui.util.StringReplacerApplier;
2223
import me.hsgamer.hscore.common.MapUtils;
2324
import me.hsgamer.hscore.config.Config;
@@ -40,7 +41,7 @@ public ModalFormMenu(FormSender sender, Config config) {
4041
super(sender, config);
4142

4243
content = Optional.ofNullable(MapUtils.getIfFound(menuSettings, "content"))
43-
.map(Object::toString)
44+
.map(ComponentUtil::toMultilineString)
4445
.orElse("");
4546
}
4647

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public SimpleButtonComponentProvider(ComponentProviderBuilder.Input input) {
3939
super(input);
4040

4141
value = Optional.ofNullable(MapUtils.getIfFound(input.options, "value", "text", "content"))
42-
.map(Object::toString)
42+
.map(ComponentUtil::toMultilineString)
4343
.orElse("");
4444
imageFunction = ComponentUtil.createImageFunction(input.options, this);
4545
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
import me.hsgamer.bettergui.betterforms.api.builder.ComponentProviderBuilder;
1919
import me.hsgamer.bettergui.betterforms.api.menu.FormMenu;
2020
import me.hsgamer.bettergui.betterforms.api.sender.FormSender;
21+
import me.hsgamer.bettergui.betterforms.util.ComponentUtil;
2122
import me.hsgamer.bettergui.util.StringReplacerApplier;
22-
import me.hsgamer.hscore.common.CollectionUtils;
2323
import me.hsgamer.hscore.common.MapUtils;
2424
import me.hsgamer.hscore.config.Config;
2525
import org.bukkit.entity.Player;
@@ -41,8 +41,7 @@ public SimpleFormMenu(FormSender sender, Config config) {
4141
super(sender, config);
4242

4343
content = Optional.ofNullable(MapUtils.getIfFound(menuSettings, "content"))
44-
.map(CollectionUtils::createStringListFromObject)
45-
.map(list -> String.join("\n", list))
44+
.map(ComponentUtil::toMultilineString)
4645
.orElse("");
4746
}
4847

src/main/java/me/hsgamer/bettergui/betterforms/util/ComponentUtil.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717

1818
import me.hsgamer.bettergui.api.menu.MenuElement;
1919
import me.hsgamer.bettergui.util.StringReplacerApplier;
20+
import me.hsgamer.hscore.common.CollectionUtils;
2021
import me.hsgamer.hscore.common.MapUtils;
2122
import org.geysermc.cumulus.util.FormImage;
2223

24+
import java.util.List;
2325
import java.util.Map;
2426
import java.util.Optional;
2527
import java.util.UUID;
@@ -52,4 +54,9 @@ public static Function<UUID, FormImage> createImageFunction(Map<String, Object>
5254
}
5355
};
5456
}
57+
58+
public static String toMultilineString(Object input) {
59+
List<String> list = CollectionUtils.createStringListFromObject(input);
60+
return String.join("\n", list);
61+
}
5562
}

0 commit comments

Comments
 (0)