1
1
package net .blay09 .mods .balm .fabric .config .notoml ;
2
2
3
+ import net .minecraft .resources .ResourceLocation ;
4
+
3
5
import java .io .IOException ;
4
6
import java .io .Writer ;
5
- import java .util .List ;
7
+ import java .util .Collection ;
6
8
import java .util .Map ;
7
9
8
10
public class NotomlSerializer {
@@ -44,7 +46,9 @@ private static String serializeToString(Notoml notoml) {
44
46
} else {
45
47
sb .append ("\" " ).append (stringValue .replace ("\" " , "\\ \" " )).append ("\" " );
46
48
}
47
- } else if (value instanceof List <?> listValue ) {
49
+ } else if (value instanceof ResourceLocation resourceLocationValue ) {
50
+ sb .append ("\" " ).append (resourceLocationValue ).append ("\" " );
51
+ } else if (value instanceof Collection <?> listValue ) {
48
52
serializeList (listValue , sb );
49
53
} else if (value instanceof Enum <?> enumValue ) {
50
54
sb .append ("\" " ).append (enumValue .name ()).append ("\" " );
@@ -59,31 +63,37 @@ private static String serializeToString(Notoml notoml) {
59
63
return sb .toString ();
60
64
}
61
65
62
- private static String serializeList (List <?> list , StringBuilder sb ) {
66
+ private static String serializeList (Collection <?> list , StringBuilder sb ) {
63
67
sb .append ("[ " );
64
68
boolean newLines = list .size () > 3 ;
65
- if (newLines ) {
66
- sb .append ("\n " );
67
- }
68
- for (int i = 0 ; i < list .size (); i ++) {
69
- if (newLines ) {
70
- sb .append (" " );
71
- }
72
- if (list .get (i ) instanceof String ) {
73
- sb .append ("\" " ).append (((String ) list .get (i )).replace ("\" " , "\\ \" " )).append ("\" " );
74
- } else if (list .get (i ) instanceof Enum <?>) {
75
- sb .append ("\" " ).append (((Enum <?>) list .get (i )).name ()).append ("\" " );
76
- } else {
77
- sb .append (list .get (i ));
78
- }
79
- if (i != list .size () - 1 ) {
69
+ var first = true ;
70
+ for (final var value : list ) {
71
+ if (!first ) {
80
72
sb .append (", " );
81
73
}
74
+ first = false ;
75
+
82
76
if (newLines ) {
83
77
sb .append ("\n " );
84
78
}
79
+ if (newLines ) {
80
+ sb .append (" " );
81
+ }
82
+ if (value instanceof String stringValue ) {
83
+ sb .append ("\" " ).append (stringValue .replace ("\" " , "\\ \" " )).append ("\" " );
84
+ } else if (value instanceof ResourceLocation resourceLocationValue ) {
85
+ sb .append ("\" " ).append (resourceLocationValue ).append ("\" " );
86
+ } else if (value instanceof Enum <?> enumValue ) {
87
+ sb .append ("\" " ).append (enumValue .name ()).append ("\" " );
88
+ } else {
89
+ sb .append (value );
90
+ }
91
+ }
92
+ if (newLines ) {
93
+ sb .append ("\n ]" );
94
+ } else {
95
+ sb .append (" ]" );
85
96
}
86
- sb .append (" ]" );
87
97
return sb .toString ();
88
98
}
89
99
0 commit comments