@@ -28,22 +28,25 @@ public record SNBTCodecImpl(
2828 String indentation ,
2929 SurroundingSpaces surroundingSpaces ,
3030 EscapeStrategy escapeStrategy ,
31- QuoteStrategy quoteStrategy
31+ QuoteStrategy nameQuoteStrategy ,
32+ QuoteStrategy valueQuoteStrategy
3233) implements SNBTCodec {
3334 public static final SNBTCodecImpl COMPACT = new SNBTCodecImpl (
3435 LineBreakStrategy .never (),
3536 "" , // No indentation
3637 SurroundingSpaces .COMPACT ,
3738 EscapeStrategy .defaultStrategy (),
38- QuoteStrategy .defaultStrategy ()
39+ QuoteStrategy .defaultNameStrategy (),
40+ QuoteStrategy .defaultValueStrategy ()
3941 );
4042
4143 public static final SNBTCodecImpl PRETTY = new SNBTCodecImpl (
4244 LineBreakStrategy .defaultStrategy (),
4345 " " , // 4 spaces
4446 SurroundingSpaces .PRETTY ,
4547 EscapeStrategy .defaultStrategy (),
46- QuoteStrategy .defaultStrategy ()
48+ QuoteStrategy .defaultNameStrategy (),
49+ QuoteStrategy .defaultValueStrategy ()
4750 );
4851
4952
@@ -54,7 +57,7 @@ public LineBreakStrategy getLineBreakStrategy() {
5457
5558 @ Override
5659 public SNBTCodec withLineBreakStrategy (LineBreakStrategy strategy ) {
57- return new SNBTCodecImpl (strategy , indentation , surroundingSpaces , escapeStrategy , quoteStrategy );
60+ return new SNBTCodecImpl (strategy , indentation , surroundingSpaces , escapeStrategy , nameQuoteStrategy , valueQuoteStrategy );
5861 }
5962
6063 @ Override
@@ -71,12 +74,12 @@ public SNBTCodec withIndentation(String indentation) {
7174 }
7275 }
7376
74- return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , quoteStrategy );
77+ return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , nameQuoteStrategy , valueQuoteStrategy );
7578 }
7679
7780 @ Override
7881 public SNBTCodec withIndentation (int spaces ) {
79- return new SNBTCodecImpl (lineBreakStrategy , " " .repeat (spaces ), surroundingSpaces , escapeStrategy , quoteStrategy );
82+ return new SNBTCodecImpl (lineBreakStrategy , " " .repeat (spaces ), surroundingSpaces , escapeStrategy , nameQuoteStrategy , valueQuoteStrategy );
8083 }
8184
8285 @ Override
@@ -86,7 +89,7 @@ public SurroundingSpaces getSurroundingSpaces() {
8689
8790 @ Override
8891 public SNBTCodec withSurroundingSpaces (SurroundingSpaces surroundingSpaces ) {
89- return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , quoteStrategy );
92+ return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , nameQuoteStrategy , valueQuoteStrategy );
9093 }
9194
9295 @ Override
@@ -96,17 +99,27 @@ public EscapeStrategy getEscapeStrategy() {
9699
97100 @ Override
98101 public SNBTCodec withEscapeStrategy (EscapeStrategy escapeStrategy ) {
99- return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , quoteStrategy );
102+ return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , nameQuoteStrategy , valueQuoteStrategy );
100103 }
101104
102105 @ Override
103- public QuoteStrategy getQuoteStrategy () {
104- return quoteStrategy ;
106+ public QuoteStrategy getNameQuoteStrategy () {
107+ return nameQuoteStrategy ;
105108 }
106109
107110 @ Override
108- public SNBTCodec withQuoteStrategy (QuoteStrategy quoteStrategy ) {
109- return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , quoteStrategy );
111+ public SNBTCodec withNameQuoteStrategy (QuoteStrategy quoteStrategy ) {
112+ return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , quoteStrategy , valueQuoteStrategy );
113+ }
114+
115+ @ Override
116+ public QuoteStrategy getValueQuoteStrategy () {
117+ return valueQuoteStrategy ;
118+ }
119+
120+ @ Override
121+ public SNBTCodec withValueQuoteStrategy (QuoteStrategy quoteStrategy ) {
122+ return new SNBTCodecImpl (lineBreakStrategy , indentation , surroundingSpaces , escapeStrategy , nameQuoteStrategy , quoteStrategy );
110123 }
111124
112125 @ Override
0 commit comments