Skip to content

Commit 1bf5f74

Browse files
Add missing translation mappings and component rewriter (#761)
1 parent 9e63243 commit 1bf5f74

File tree

10 files changed

+633
-260
lines changed

10 files changed

+633
-260
lines changed

common/src/main/java/com/viaversion/viabackwards/protocol/v1_10to1_9_3/Protocol1_10To1_9_3.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.viaversion.viabackwards.api.BackwardsProtocol;
2222
import com.viaversion.viabackwards.api.data.BackwardsMappingData;
2323
import com.viaversion.viabackwards.api.rewriters.SoundRewriter;
24+
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
2425
import com.viaversion.viabackwards.protocol.v1_10to1_9_3.rewriter.BlockItemPacketRewriter1_10;
2526
import com.viaversion.viabackwards.protocol.v1_10to1_9_3.rewriter.EntityPacketRewriter1_10;
2627
import com.viaversion.viaversion.api.connection.UserConnection;
@@ -33,6 +34,7 @@
3334
import com.viaversion.viaversion.data.entity.EntityTrackerBase;
3435
import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ClientboundPackets1_9_3;
3536
import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ServerboundPackets1_9_3;
37+
import com.viaversion.viaversion.rewriter.ComponentRewriter;
3638

3739
public class Protocol1_10To1_9_3 extends BackwardsProtocol<ClientboundPackets1_9_3, ClientboundPackets1_9_3, ServerboundPackets1_9_3, ServerboundPackets1_9_3> {
3840

@@ -89,6 +91,9 @@ public void register() {
8991
map(Types.VAR_INT); // 1 - Result
9092
}
9193
});
94+
95+
TranslatableRewriter<ClientboundPackets1_9_3> componentRewriter = new TranslatableRewriter<>(this, ComponentRewriter.ReadType.JSON);
96+
componentRewriter.registerComponentPacket(ClientboundPackets1_9_3.CHAT);
9297
}
9398

9499
@Override

common/src/main/java/com/viaversion/viabackwards/protocol/v1_11to1_10/Protocol1_11To1_10.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.viaversion.viabackwards.api.BackwardsProtocol;
2222
import com.viaversion.viabackwards.api.data.BackwardsMappingData;
2323
import com.viaversion.viabackwards.api.rewriters.SoundRewriter;
24+
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
2425
import com.viaversion.viabackwards.protocol.v1_11to1_10.rewriter.BlockItemPacketRewriter1_11;
2526
import com.viaversion.viabackwards.protocol.v1_11to1_10.rewriter.EntityPacketRewriter1_11;
2627
import com.viaversion.viabackwards.protocol.v1_11to1_10.rewriter.PlayerPacketRewriter1_11;
@@ -29,14 +30,17 @@
2930
import com.viaversion.viaversion.api.minecraft.ClientWorld;
3031
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_11;
3132
import com.viaversion.viaversion.data.entity.EntityTrackerBase;
33+
import com.viaversion.viaversion.protocols.v1_11_1to1_12.packet.ClientboundPackets1_12;
3234
import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ClientboundPackets1_9_3;
3335
import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ServerboundPackets1_9_3;
36+
import com.viaversion.viaversion.rewriter.ComponentRewriter;
3437

3538
public class Protocol1_11To1_10 extends BackwardsProtocol<ClientboundPackets1_9_3, ClientboundPackets1_9_3, ServerboundPackets1_9_3, ServerboundPackets1_9_3> {
3639

3740
public static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.11", "1.10");
3841
private final EntityPacketRewriter1_11 entityRewriter = new EntityPacketRewriter1_11(this);
3942
private final BlockItemPacketRewriter1_11 itemRewriter = new BlockItemPacketRewriter1_11(this);
43+
private TranslatableRewriter<ClientboundPackets1_9_3> componentRewriter;
4044

4145
public Protocol1_11To1_10() {
4246
super(ClientboundPackets1_9_3.class, ClientboundPackets1_9_3.class, ServerboundPackets1_9_3.class, ServerboundPackets1_9_3.class);
@@ -51,6 +55,9 @@ protected void registerPackets() {
5155
SoundRewriter<ClientboundPackets1_9_3> soundRewriter = new SoundRewriter<>(this);
5256
soundRewriter.registerNamedSound(ClientboundPackets1_9_3.CUSTOM_SOUND);
5357
soundRewriter.registerSound(ClientboundPackets1_9_3.SOUND);
58+
59+
componentRewriter = new TranslatableRewriter<>(this, ComponentRewriter.ReadType.JSON);
60+
componentRewriter.registerComponentPacket(ClientboundPackets1_9_3.CHAT);
5461
}
5562

5663
@Override
@@ -81,6 +88,10 @@ public BlockItemPacketRewriter1_11 getItemRewriter() {
8188
return itemRewriter;
8289
}
8390

91+
public TranslatableRewriter<ClientboundPackets1_9_3> getComponentRewriter() {
92+
return componentRewriter;
93+
}
94+
8495
@Override
8596
public boolean hasMappingDataToLoad() {
8697
return true;

common/src/main/java/com/viaversion/viabackwards/protocol/v1_11to1_10/rewriter/BlockItemPacketRewriter1_11.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@ public void register() {
229229
if (wrapper.get(Types.STRING, 0).equals("EntityHorse")) {
230230
entityId = wrapper.passthrough(Types.INT);
231231
}
232+
// Rewrite window title
233+
protocol.getComponentRewriter().processText(wrapper.user(), wrapper.get(Types.COMPONENT, 0));
232234

233235
// Track Inventory
234236
String inventory = wrapper.get(Types.STRING, 0);

common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/Protocol1_12To1_11_1.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class Protocol1_12To1_11_1 extends BackwardsProtocol<ClientboundPackets1_
4242
private static final BackwardsMappingData MAPPINGS = new BackwardsMappingData("1.12", "1.11");
4343
private final EntityPacketRewriter1_12 entityRewriter = new EntityPacketRewriter1_12(this);
4444
private final BlockItemPacketRewriter1_12 itemRewriter = new BlockItemPacketRewriter1_12(this);
45+
private final ComponentRewriter1_12 componentRewriter = new ComponentRewriter1_12(this);
4546

4647
public Protocol1_12To1_11_1() {
4748
super(ClientboundPackets1_12.class, ClientboundPackets1_9_3.class, ServerboundPackets1_12.class, ServerboundPackets1_9_3.class);
@@ -51,8 +52,8 @@ public Protocol1_12To1_11_1() {
5152
protected void registerPackets() {
5253
itemRewriter.register();
5354
entityRewriter.register();
55+
componentRewriter.registerComponentPacket(ClientboundPackets1_12.CHAT);
5456
new SoundPacketRewriter1_12(this).register();
55-
new ComponentRewriter1_12(this).register();
5657

5758
registerClientbound(ClientboundPackets1_12.SET_TITLES, wrapper -> {
5859
int action = wrapper.passthrough(Types.VAR_INT);
@@ -94,6 +95,10 @@ public BlockItemPacketRewriter1_12 getItemRewriter() {
9495
return itemRewriter;
9596
}
9697

98+
public ComponentRewriter1_12 getComponentRewriter() {
99+
return componentRewriter;
100+
}
101+
97102
@Override
98103
public boolean hasMappingDataToLoad() {
99104
return true;

common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/data/AdvancementTranslations1_11_1.java

Lines changed: 0 additions & 154 deletions
This file was deleted.

common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/ComponentRewriter1_12.java

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,54 +18,34 @@
1818

1919
package com.viaversion.viabackwards.protocol.v1_12to1_11_1.rewriter;
2020

21+
import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter;
2122
import com.viaversion.viabackwards.protocol.v1_12to1_11_1.Protocol1_12To1_11_1;
22-
import com.viaversion.viabackwards.protocol.v1_12to1_11_1.data.AdvancementTranslations1_11_1;
2323
import com.viaversion.viaversion.api.connection.UserConnection;
24-
import com.viaversion.viaversion.api.rewriter.RewriterBase;
25-
import com.viaversion.viaversion.api.type.Types;
2624
import com.viaversion.viaversion.libs.gson.JsonElement;
2725
import com.viaversion.viaversion.libs.gson.JsonObject;
2826
import com.viaversion.viaversion.protocols.v1_11_1to1_12.packet.ClientboundPackets1_12;
2927
import com.viaversion.viaversion.rewriter.ComponentRewriter;
3028

31-
public class ComponentRewriter1_12 extends RewriterBase<Protocol1_12To1_11_1> {
29+
public class ComponentRewriter1_12 extends TranslatableRewriter<ClientboundPackets1_12> {
3230

33-
public static final ComponentRewriter<ClientboundPackets1_12> COMPONENT_REWRITER = new ComponentRewriter<>(null, ComponentRewriter.ReadType.JSON) {
34-
@Override
35-
public void processText(UserConnection connection, JsonElement element) {
36-
super.processText(connection, element);
37-
if (element == null || !element.isJsonObject()) {
38-
return;
39-
}
40-
41-
JsonObject object = element.getAsJsonObject();
42-
JsonElement keybind = object.remove("keybind");
43-
if (keybind == null) {
44-
return;
45-
}
31+
public ComponentRewriter1_12(Protocol1_12To1_11_1 protocol) {
32+
super(protocol, ComponentRewriter.ReadType.JSON);
33+
}
4634

47-
//TODO Add nicer text for the key, also use this component rewriter in more packets
48-
object.addProperty("text", keybind.getAsString());
35+
@Override
36+
public void processText(UserConnection connection, JsonElement element) {
37+
super.processText(connection, element);
38+
if (element == null || !element.isJsonObject()) {
39+
return;
4940
}
5041

51-
@Override
52-
protected void handleTranslate(JsonObject object, String translate) {
53-
String text = AdvancementTranslations1_11_1.get(translate);
54-
if (text != null) {
55-
object.addProperty("translate", text);
56-
}
42+
JsonObject object = element.getAsJsonObject();
43+
JsonElement keybind = object.remove("keybind");
44+
if (keybind == null) {
45+
return;
5746
}
58-
};
5947

60-
public ComponentRewriter1_12(Protocol1_12To1_11_1 protocol) {
61-
super(protocol);
62-
}
63-
64-
@Override
65-
protected void registerPackets() {
66-
protocol.registerClientbound(ClientboundPackets1_12.CHAT, wrapper -> {
67-
JsonElement element = wrapper.passthrough(Types.COMPONENT);
68-
COMPONENT_REWRITER.processText(wrapper.user(), element);
69-
});
48+
//TODO Add nicer text for the key, also use this component rewriter in more packets
49+
object.addProperty("text", keybind.getAsString());
7050
}
7151
}

0 commit comments

Comments
 (0)