@@ -43,121 +43,20 @@ func DefaultJsonCodec() codec.Codec {
4343
4444var (
4545 // Json component codec supporting pre-1.16 clients
46- // Equivalent to PRE_1_16_SERIALIZER
47- jsonCodec_Pre_1_16 = & codec.Json {
48- UseLegacyFieldNames : true , // EMIT_CLICK_EVENT_TYPE = CAMEL_CASE
49- UseLegacyClickEventStructure : true , // EMIT_CLICK_EVENT_TYPE = VALUE_FIELD (universal "value")
50- UseLegacyHoverEventStructure : true , // EMIT_HOVER_EVENT_TYPE = VALUE_FIELD
51- NoDownsampleColor : false , // EMIT_RGB = FALSE (downsampleColors)
52- NoLegacyHover : false , // Support legacy hover events
53- StdJson : true ,
54- /* Equivalent to PRE_1_16_SERIALIZER:
55- GsonComponentSerializer.builder()
56- .downsampleColors()
57- .legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
58- .options(
59- OptionSchema.globalSchema().stateBuilder()
60- // before 1.16
61- .value(JSONOptions.EMIT_RGB, Boolean.FALSE)
62- .value(JSONOptions.EMIT_HOVER_EVENT_TYPE, JSONOptions.HoverEventValueMode.VALUE_FIELD)
63- .value(JSONOptions.EMIT_CLICK_EVENT_TYPE, JSONOptions.ClickEventValueMode.CAMEL_CASE)
64- // before 1.20.3
65- .value(JSONOptions.EMIT_COMPACT_TEXT_COMPONENT, Boolean.FALSE)
66- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_ID_AS_INT_ARRAY, Boolean.FALSE)
67- .value(JSONOptions.VALIDATE_STRICT_EVENTS, Boolean.FALSE)
68- .build()
69- )
70- .build();
71- */
72- }
46+ // Equivalent to PRE_1_16_SERIALIZER from Adventure
47+ jsonCodec_Pre_1_16 = codec .JsonPre1_16
7348
7449 // Json component codec for 1.16+ clients (pre-1.20.3)
75- // Equivalent to PRE_1_20_3_SERIALIZER
76- jsonCodec_Pre_1_20_3 = & codec.Json {
77- UseLegacyFieldNames : true , // EMIT_CLICK_EVENT_TYPE = CAMEL_CASE
78- UseLegacyClickEventStructure : true , // EMIT_CLICK_EVENT_TYPE = CAMEL_CASE (universal "value")
79- UseLegacyHoverEventStructure : true , // EMIT_HOVER_EVENT_TYPE = CAMEL_CASE (contents wrapper)
80- NoDownsampleColor : true , // EMIT_RGB = TRUE
81- NoLegacyHover : true , // Modern hover events only
82- StdJson : true ,
83- /* Equivalent to PRE_1_20_3_SERIALIZER:
84- GsonComponentSerializer.builder()
85- .legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
86- .options(
87- OptionSchema.globalSchema().stateBuilder()
88- // after 1.16
89- .value(JSONOptions.EMIT_RGB, Boolean.TRUE)
90- .value(JSONOptions.EMIT_HOVER_EVENT_TYPE, JSONOptions.HoverEventValueMode.CAMEL_CASE)
91- .value(JSONOptions.EMIT_CLICK_EVENT_TYPE, JSONOptions.ClickEventValueMode.CAMEL_CASE)
92- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_KEY_AS_TYPE_AND_UUID_AS_ID, true)
93- // before 1.20.3
94- .value(JSONOptions.EMIT_COMPACT_TEXT_COMPONENT, Boolean.FALSE)
95- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_ID_AS_INT_ARRAY, Boolean.FALSE)
96- .value(JSONOptions.VALIDATE_STRICT_EVENTS, Boolean.FALSE)
97- .build()
98- )
99- .build();
100- */
101- }
50+ // Equivalent to PRE_1_20_3_SERIALIZER from Adventure
51+ jsonCodec_Pre_1_20_3 = codec .JsonPre1_20_3
10252
10353 // Json component codec for 1.20.3+ clients (pre-1.21.5)
104- // Equivalent to PRE_1_21_5_SERIALIZER
105- jsonCodec_Pre_1_21_5 = & codec.Json {
106- UseLegacyFieldNames : true , // EMIT_CLICK_EVENT_TYPE = CAMEL_CASE
107- UseLegacyClickEventStructure : true , // EMIT_CLICK_EVENT_TYPE = CAMEL_CASE (universal "value")
108- UseLegacyHoverEventStructure : true , // EMIT_HOVER_EVENT_TYPE = CAMEL_CASE (contents wrapper)
109- NoDownsampleColor : true , // EMIT_RGB = TRUE
110- NoLegacyHover : true , // Modern hover events only
111- StdJson : true ,
112- /* Equivalent to PRE_1_21_5_SERIALIZER:
113- GsonComponentSerializer.builder()
114- .legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
115- .options(
116- OptionSchema.globalSchema().stateBuilder()
117- // after 1.16
118- .value(JSONOptions.EMIT_RGB, Boolean.TRUE)
119- .value(JSONOptions.EMIT_HOVER_EVENT_TYPE, JSONOptions.HoverEventValueMode.CAMEL_CASE)
120- .value(JSONOptions.EMIT_CLICK_EVENT_TYPE, JSONOptions.ClickEventValueMode.CAMEL_CASE)
121- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_KEY_AS_TYPE_AND_UUID_AS_ID, true)
122- // after 1.20.3
123- .value(JSONOptions.EMIT_COMPACT_TEXT_COMPONENT, Boolean.TRUE)
124- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_ID_AS_INT_ARRAY, Boolean.TRUE)
125- .value(JSONOptions.VALIDATE_STRICT_EVENTS, Boolean.TRUE)
126- .build()
127- )
128- .build();
129- */
130- }
54+ // Equivalent to PRE_1_21_5_SERIALIZER from Adventure
55+ jsonCodec_Pre_1_21_5 = codec .JsonPre1_21_5
13156
13257 // Json component codec for 1.21.5+ clients (modern format)
133- // Equivalent to MODERN_SERIALIZER
134- jsonCodec_Modern = & codec.Json {
135- UseLegacyFieldNames : false , // EMIT_CLICK_EVENT_TYPE = SNAKE_CASE
136- UseLegacyClickEventStructure : false , // EMIT_CLICK_EVENT_TYPE = SNAKE_CASE (specific fields)
137- UseLegacyHoverEventStructure : false , // EMIT_HOVER_EVENT_TYPE = SNAKE_CASE (inlined structure)
138- NoDownsampleColor : true , // EMIT_RGB = TRUE
139- NoLegacyHover : true , // Modern hover events only
140- StdJson : true ,
141- /* Equivalent to MODERN_SERIALIZER:
142- GsonComponentSerializer.builder()
143- .legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
144- .options(
145- OptionSchema.globalSchema().stateBuilder()
146- // after 1.16
147- .value(JSONOptions.EMIT_RGB, Boolean.TRUE)
148- .value(JSONOptions.EMIT_HOVER_EVENT_TYPE, JSONOptions.HoverEventValueMode.SNAKE_CASE)
149- .value(JSONOptions.EMIT_CLICK_EVENT_TYPE, JSONOptions.ClickEventValueMode.SNAKE_CASE)
150- // after 1.20.3
151- .value(JSONOptions.EMIT_COMPACT_TEXT_COMPONENT, Boolean.TRUE)
152- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_ID_AS_INT_ARRAY, Boolean.TRUE)
153- // after 1.21.5
154- .value(JSONOptions.EMIT_HOVER_SHOW_ENTITY_KEY_AS_TYPE_AND_UUID_AS_ID, Boolean.FALSE)
155- .value(JSONOptions.VALIDATE_STRICT_EVENTS, Boolean.TRUE)
156- .build()
157- )
158- .build();
159- */
160- }
58+ // Equivalent to MODERN_SERIALIZER from Adventure
59+ jsonCodec_Modern = codec .JsonModern
16160)
16261
16362// MarshalPlain marshals a component into plain text.
0 commit comments