1919import me .hsgamer .bettergui .betterforms .api .menu .FormMenu ;
2020import me .hsgamer .bettergui .betterforms .api .sender .FormSender ;
2121import me .hsgamer .bettergui .util .StringReplacerApplier ;
22+ import me .hsgamer .hscore .common .CollectionUtils ;
2223import me .hsgamer .hscore .common .MapUtils ;
2324import me .hsgamer .hscore .config .Config ;
2425import org .bukkit .entity .Player ;
2526import org .geysermc .cumulus .form .SimpleForm ;
2627import org .geysermc .cumulus .response .SimpleFormResponse ;
2728
28- import java .util .List ;
29+ import java .util .Optional ;
2930
3031public class SimpleFormMenu extends FormMenu <SimpleForm , SimpleFormResponse , SimpleForm .Builder > {
3132 private static final ComponentProviderBuilder <SimpleForm , SimpleFormResponse , SimpleForm .Builder > builder = new ComponentProviderBuilder <>();
@@ -34,27 +35,20 @@ public class SimpleFormMenu extends FormMenu<SimpleForm, SimpleFormResponse, Sim
3435 builder .register (SimpleButtonComponentProvider ::new , "button" , "" );
3536 }
3637
37- private final StringBuilder content = new StringBuilder () ;
38+ private final String content ;
3839
3940 public SimpleFormMenu (FormSender sender , Config config ) {
4041 super (sender , config );
4142
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 );
43+ content = Optional .ofNullable (MapUtils .getIfFound (menuSettings , "content" ))
44+ .map (CollectionUtils ::createStringListFromObject )
45+ .map (list -> String .join ("\n " , list ))
46+ .orElse ("" );
5347 }
5448
5549 @ Override
5650 protected SimpleForm .Builder createFormBuilder (Player player ) {
57- return SimpleForm .builder ().content (StringReplacerApplier .replace (content . toString () , player .getUniqueId (), this ));
51+ return SimpleForm .builder ().content (StringReplacerApplier .replace (content , player .getUniqueId (), this ));
5852 }
5953
6054 @ Override
0 commit comments