|
18 | 18 | package com.viaversion.viarewind.protocol.v1_9to1_8.rewriter;
|
19 | 19 |
|
20 | 20 | import com.viaversion.viarewind.ViaRewind;
|
| 21 | +import com.viaversion.viarewind.api.type.RewindTypes; |
21 | 22 | import com.viaversion.viarewind.protocol.v1_9to1_8.Protocol1_9To1_8;
|
22 | 23 | import com.viaversion.viarewind.protocol.v1_9to1_8.storage.*;
|
23 | 24 | import com.viaversion.viarewind.utils.ChatUtil;
|
|
36 | 37 | import com.viaversion.nbt.tag.ListTag;
|
37 | 38 | import com.viaversion.nbt.tag.StringTag;
|
38 | 39 | import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
| 40 | +import com.viaversion.viaversion.libs.gson.JsonParser; |
39 | 41 | import com.viaversion.viaversion.protocols.v1_8to1_9.packet.ClientboundPackets1_8;
|
40 | 42 | import com.viaversion.viaversion.protocols.v1_8to1_9.packet.ClientboundPackets1_9;
|
41 | 43 | import com.viaversion.viaversion.protocols.v1_8to1_9.packet.ServerboundPackets1_8;
|
42 | 44 | import com.viaversion.viaversion.protocols.v1_8to1_9.packet.ServerboundPackets1_9;
|
| 45 | +import com.viaversion.viaversion.util.StringUtil; |
43 | 46 |
|
44 | 47 | import java.util.ArrayList;
|
45 | 48 | import java.util.List;
|
@@ -438,7 +441,12 @@ public void register() {
|
438 | 441 | map(Types.BLOCK_POSITION1_8); // Position
|
439 | 442 | handler(wrapper -> {
|
440 | 443 | for (int i = 0; i < 4; i++) {
|
441 |
| - wrapper.write(Types.STRING, ChatUtil.jsonToLegacy(wrapper.read(Types.COMPONENT))); |
| 444 | + final JsonElement json = JsonParser.parseString(wrapper.read(RewindTypes.SIGN_STRING)); |
| 445 | + if (!json.isJsonPrimitive()) { |
| 446 | + throw new IllegalStateException("Invalid sign text: " + StringUtil.forLogging(json)); |
| 447 | + } |
| 448 | + |
| 449 | + wrapper.write(Types.STRING, ChatUtil.jsonToLegacy(json)); |
442 | 450 | }
|
443 | 451 | });
|
444 | 452 | }
|
|
0 commit comments