@@ -68,7 +68,7 @@ protected void apply(Map<Identifier, List<JsonObject>> prepared, ResourceManager
68
68
for (var json : jsons ) {
69
69
var partialPalette = PALETTE_CODEC .parse (JsonOps .INSTANCE , json ).get ()
70
70
.map (Function .identity (), partial -> {
71
- LOGGER .error ("[Adorn] Could not parse color palette {}" , id );
71
+ LOGGER .error ("[Adorn] Could not parse color palette {}: {} " , id , partial . message () );
72
72
return null ;
73
73
});
74
74
if (partialPalette == null ) continue ;
@@ -106,13 +106,14 @@ private static DataResult<Integer> parseHexColor(String str) {
106
106
public record ColorPair (int bg , int fg ) {
107
107
private static final int DEFAULT_FG = Colors .SCREEN_TEXT ;
108
108
109
+ private static final Codec <Integer > COLOR_CODEC =
110
+ Codec .STRING .comapFlatMap (ColorManager ::parseHexColor , color -> HexFormat .of ().withUpperCase ().toHexDigits (color ));
109
111
public static final Codec <ColorPair > CODEC = Codecs .alternatively (
110
112
RecordCodecBuilder .create (instance -> instance .group (
111
- Codec . INT .fieldOf ("bg" ).forGetter (ColorPair ::bg ),
112
- Codec . INT .optionalFieldOf ("fg" , DEFAULT_FG ).forGetter (ColorPair ::bg )
113
+ COLOR_CODEC .fieldOf ("bg" ).forGetter (ColorPair ::bg ),
114
+ COLOR_CODEC .optionalFieldOf ("fg" , DEFAULT_FG ).forGetter (ColorPair ::bg )
113
115
).apply (instance , ColorPair ::new )),
114
- Codec .STRING .comapFlatMap (ColorManager ::parseHexColor , color -> HexFormat .of ().withUpperCase ().toHexDigits (color ))
115
- .xmap (bg -> new ColorPair (bg , DEFAULT_FG ), ColorPair ::bg )
116
+ COLOR_CODEC .xmap (bg -> new ColorPair (bg , DEFAULT_FG ), ColorPair ::bg )
116
117
);
117
118
}
118
119
}
0 commit comments