Skip to content

Commit c5f3427

Browse files
Update MCStructs to 3.0.0
Co-authored-by: RaphiMC <[email protected]>
1 parent eb46bfd commit c5f3427

File tree

5 files changed

+38
-42
lines changed

5 files changed

+38
-42
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ repositories {
2323
}
2424

2525
dependencies {
26-
compileOnly "com.viaversion:viaversion-common:5.3.0"
26+
compileOnly "com.viaversion:viaversion-common:5.3.1-SNAPSHOT"
2727
compileOnly "com.google.guava:guava:33.4.6-jre"
2828
compileOnly "io.netty:netty-handler:4.1.119.Final"
2929
}

src/main/java/net/raphimc/vialegacy/protocol/release/r1_6_4tor1_7_2_5/rewriter/TextRewriter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import com.viaversion.viaversion.libs.fastutil.objects.Object2ObjectMap;
2222
import com.viaversion.viaversion.libs.fastutil.objects.Object2ObjectOpenHashMap;
23-
import com.viaversion.viaversion.libs.mcstructs.text.ATextComponent;
23+
import com.viaversion.viaversion.libs.mcstructs.text.TextComponent;
2424
import com.viaversion.viaversion.libs.mcstructs.text.components.StringComponent;
2525
import com.viaversion.viaversion.libs.mcstructs.text.components.TranslationComponent;
2626
import com.viaversion.viaversion.libs.mcstructs.text.serializer.LegacyStringDeserializer;
@@ -72,7 +72,7 @@ public class TextRewriter {
7272
}
7373

7474
public static String toClient(final String text) {
75-
ATextComponent component = TextComponentSerializer.V1_6.deserialize(text);
75+
TextComponent component = TextComponentSerializer.V1_6.deserialize(text);
7676
// Replace translation keys with their actual translations
7777
TextUtils.iterateAll(component, c -> {
7878
if (c instanceof TranslationComponent translationComponent) {
@@ -94,7 +94,7 @@ public static String toClient(final String text) {
9494
if (c instanceof TranslationComponent translationComponent) {
9595
final Object[] args = translationComponent.getArgs();
9696
for (int i = 0; i < args.length; i++) {
97-
if (args[i] != null && !(args[i] instanceof ATextComponent)) {
97+
if (args[i] != null && !(args[i] instanceof TextComponent)) {
9898
args[i] = new StringComponent(args[i].toString());
9999
}
100100
}

src/main/java/net/raphimc/vialegacy/protocol/release/r1_7_2_5tor1_7_6_10/rewriter/TextRewriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import com.viaversion.viaversion.libs.fastutil.objects.Object2ObjectMap;
2121
import com.viaversion.viaversion.libs.fastutil.objects.Object2ObjectOpenHashMap;
22-
import com.viaversion.viaversion.libs.mcstructs.text.ATextComponent;
22+
import com.viaversion.viaversion.libs.mcstructs.text.TextComponent;
2323
import com.viaversion.viaversion.libs.mcstructs.text.components.TranslationComponent;
2424
import com.viaversion.viaversion.libs.mcstructs.text.serializer.TextComponentSerializer;
2525
import com.viaversion.viaversion.libs.mcstructs.text.utils.TextUtils;
@@ -118,7 +118,7 @@ public class TextRewriter {
118118
}
119119

120120
public static String toClient(final String text) {
121-
final ATextComponent component = TextComponentSerializer.V1_7.deserialize(text);
121+
final TextComponent component = TextComponentSerializer.V1_7.deserialize(text);
122122
// Replace translation keys with their actual translations
123123
TextUtils.iterateAll(component, c -> {
124124
if (c instanceof TranslationComponent translationComponent) {

src/main/java/net/raphimc/vialegacy/protocol/release/r1_7_6_10tor1_8/rewriter/ItemRewriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import com.viaversion.viaversion.api.connection.UserConnection;
2525
import com.viaversion.viaversion.api.minecraft.item.Item;
2626
import com.viaversion.viaversion.api.type.Types;
27-
import com.viaversion.viaversion.libs.mcstructs.text.ATextComponent;
27+
import com.viaversion.viaversion.libs.mcstructs.text.TextComponent;
2828
import com.viaversion.viaversion.libs.mcstructs.text.components.StringComponent;
2929
import com.viaversion.viaversion.libs.mcstructs.text.serializer.TextComponentSerializer;
3030
import com.viaversion.viaversion.protocols.v1_8to1_9.packet.ServerboundPackets1_8;
@@ -134,7 +134,7 @@ public Item handleItemToServer(final UserConnection user, final Item item) {
134134

135135
for (int i = 0; i < pages.size(); i++) {
136136
final String text = pages.get(i).getValue();
137-
final ATextComponent textComponent = TextComponentSerializer.V1_8.deserialize(text);
137+
final TextComponent textComponent = TextComponentSerializer.V1_8.deserialize(text);
138138
if (textComponent instanceof StringComponent stringComponent) {
139139
pages.set(i, new StringTag(stringComponent.getText()));
140140
} else {

src/main/java/net/raphimc/vialegacy/protocol/release/r1_7_6_10tor1_8/rewriter/TextRewriter.java

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,10 @@
2727
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
2828
import com.viaversion.viaversion.libs.fastutil.objects.Object2ObjectMap;
2929
import com.viaversion.viaversion.libs.fastutil.objects.Object2ObjectOpenHashMap;
30-
import com.viaversion.viaversion.libs.mcstructs.snbt.SNbtSerializer;
31-
import com.viaversion.viaversion.libs.mcstructs.text.ATextComponent;
32-
import com.viaversion.viaversion.libs.mcstructs.text.components.StringComponent;
30+
import com.viaversion.viaversion.libs.mcstructs.snbt.SNbt;
31+
import com.viaversion.viaversion.libs.mcstructs.text.TextComponent;
3332
import com.viaversion.viaversion.libs.mcstructs.text.components.TranslationComponent;
34-
import com.viaversion.viaversion.libs.mcstructs.text.events.hover.HoverEventAction;
35-
import com.viaversion.viaversion.libs.mcstructs.text.events.hover.impl.TextHoverEvent;
33+
import com.viaversion.viaversion.libs.mcstructs.text.events.hover.impl.ItemHoverEvent;
3634
import com.viaversion.viaversion.libs.mcstructs.text.serializer.TextComponentSerializer;
3735
import com.viaversion.viaversion.libs.mcstructs.text.utils.TextUtils;
3836
import com.viaversion.viaversion.util.Key;
@@ -430,7 +428,7 @@ public TextRewriter(final Protocol<?, ?, ?, ?> protocol) {
430428
}
431429

432430
public String toClient(final UserConnection user, final String text) {
433-
final ATextComponent component = TextComponentSerializer.V1_7.deserialize(text);
431+
final TextComponent component = TextComponentSerializer.V1_7.deserialize(text);
434432
// Replace translation keys with their actual translations
435433
TextUtils.iterateAll(component, c -> {
436434
if (c instanceof TranslationComponent translationComponent) {
@@ -441,38 +439,36 @@ public String toClient(final UserConnection user, final String text) {
441439
});
442440
// Translate item hover events
443441
TextUtils.iterateAll(component, c -> {
444-
if (c.getStyle().getHoverEvent() instanceof TextHoverEvent textHoverEvent) {
445-
if (textHoverEvent.getAction().equals(HoverEventAction.SHOW_ITEM)) {
446-
try {
447-
final CompoundTag tag = (CompoundTag) SNbtSerializer.V1_7.deserialize(textHoverEvent.getText().asUnformattedString());
448-
final short id = tag.getShort("id");
449-
final short damage = tag.getShort("Damage");
450-
final CompoundTag itemTag = tag.getCompoundTag("tag");
442+
if (c.getStyle().getHoverEvent() instanceof ItemHoverEvent itemHoverEvent && itemHoverEvent.getData() instanceof ItemHoverEvent.LegacyHolder legacyHolder) {
443+
try {
444+
final CompoundTag tag = (CompoundTag) SNbt.V1_7.deserialize(legacyHolder.getData());
445+
final short id = tag.getShort("id");
446+
final short damage = tag.getShort("Damage");
447+
final CompoundTag itemTag = tag.getCompoundTag("tag");
451448

452-
Item item = new DataItem();
453-
item.setIdentifier(id);
454-
item.setData(damage);
455-
item.setTag(itemTag);
456-
item = this.protocol.getItemRewriter().handleItemToClient(user, item);
449+
Item item = new DataItem();
450+
item.setIdentifier(id);
451+
item.setData(damage);
452+
item.setTag(itemTag);
453+
item = this.protocol.getItemRewriter().handleItemToClient(user, item);
457454

458-
if (!ID_TO_NAME.containsKey(item.identifier())) {
459-
throw new IllegalArgumentException("Invalid item ID: " + item.identifier());
460-
}
461-
tag.putString("id", Key.namespaced(ID_TO_NAME.get(item.identifier())));
462-
if (damage != item.data()) {
463-
tag.putShort("Damage", item.data());
464-
}
465-
if (item.tag() != itemTag) {
466-
tag.put("tag", item.tag());
467-
}
455+
if (!ID_TO_NAME.containsKey(item.identifier())) {
456+
throw new IllegalArgumentException("Invalid item ID: " + item.identifier());
457+
}
458+
tag.putString("id", Key.namespaced(ID_TO_NAME.get(item.identifier())));
459+
if (damage != item.data()) {
460+
tag.putShort("Damage", item.data());
461+
}
462+
if (item.tag() != itemTag) {
463+
tag.put("tag", item.tag());
464+
}
468465

469-
c.getStyle().setHoverEvent(new TextHoverEvent(textHoverEvent.getAction(), new StringComponent(SNbtSerializer.V1_8.serialize(tag))));
470-
} catch (Throwable e) {
471-
if (!Via.getConfig().isSuppressConversionWarnings()) {
472-
ViaLegacy.getPlatform().getLogger().log(Level.WARNING, "Error remapping NBT in show_item:" + textHoverEvent.getText().asUnformattedString(), e);
473-
}
474-
c.getStyle().setHoverEvent(new TextHoverEvent(textHoverEvent.getAction(), new StringComponent())); // Invalid item
466+
legacyHolder.setData(SNbt.V1_8.serialize(tag));
467+
} catch (Throwable e) {
468+
if (!Via.getConfig().isSuppressConversionWarnings()) {
469+
ViaLegacy.getPlatform().getLogger().log(Level.WARNING, "Error remapping NBT in show_item:" + legacyHolder.getData(), e);
475470
}
471+
legacyHolder.setData("");
476472
}
477473
}
478474
});

0 commit comments

Comments
 (0)