|
21 | 21 | import com.viaversion.nbt.tag.ListTag; |
22 | 22 | import com.viaversion.nbt.tag.StringTag; |
23 | 23 | import com.viaversion.nbt.tag.Tag; |
| 24 | +import com.viaversion.viaversion.api.Via; |
24 | 25 | import com.viaversion.viaversion.api.connection.UserConnection; |
25 | 26 | import com.viaversion.viaversion.api.minecraft.data.StructuredDataKey; |
26 | 27 | import com.viaversion.viaversion.protocols.v1_21_4to1_21_5.Protocol1_21_4To1_21_5; |
|
31 | 32 | import java.net.URI; |
32 | 33 | import java.net.URISyntaxException; |
33 | 34 | import java.util.List; |
| 35 | +import java.util.logging.Level; |
34 | 36 | import org.checkerframework.checker.nullness.qual.Nullable; |
35 | 37 |
|
36 | 38 | import static com.viaversion.viaversion.util.TagUtil.getNamespacedCompoundTag; |
@@ -300,7 +302,16 @@ private void updateShowEntityHover(final UserConnection connection, final Compou |
300 | 302 |
|
301 | 303 | public Tag uglyJsonToTag(final UserConnection connection, final String value) { |
302 | 304 | // Use the same version for deserializing and serializing, as we handle the remaining changes ourselves |
303 | | - final Tag contents = SerializerVersion.V1_21_4.toTag(SerializerVersion.V1_21_4.toComponent(value)); |
| 305 | + final Tag contents; |
| 306 | + try { |
| 307 | + contents = SerializerVersion.V1_21_4.toTag(SerializerVersion.V1_21_4.toComponent(value)); |
| 308 | + } catch (final Exception e) { |
| 309 | + if (!Via.getConfig().isSuppressConversionWarnings()) { |
| 310 | + Via.getPlatform().getLogger().log(Level.SEVERE, "Error converting json text component: " + value, e); |
| 311 | + } |
| 312 | + return new StringTag("<error>"); |
| 313 | + } |
| 314 | + |
304 | 315 | processTag(connection, contents); |
305 | 316 | return contents; |
306 | 317 | } |
|
0 commit comments