Skip to content

Commit 616f6ac

Browse files
MiniDiggerlucko
authored andcommitted
1.21.5 support for platform-bukkit
1 parent e8aeca7 commit 616f6ac

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ plugins {
1313
}
1414

1515
// Adventure version
16-
ext.adventure = "4.13.1"
16+
ext.adventure = "4.21.0"
1717

1818
group = 'net.kyori'
1919
version = '4.3.5-SNAPSHOT'

platform-bukkit/src/main/java/net/kyori/adventure/platform/bukkit/BukkitComponentSerializer.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
import net.kyori.adventure.platform.facet.FacetComponentFlattener;
2929
import net.kyori.adventure.text.flattener.ComponentFlattener;
3030
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
31-
import net.kyori.adventure.text.serializer.gson.legacyimpl.NBTLegacyHoverEventSerializer;
31+
import net.kyori.adventure.text.serializer.json.JSONOptions;
32+
import net.kyori.adventure.text.serializer.json.legacyimpl.NBTLegacyHoverEventSerializer;
3233
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
3334
import org.bukkit.Bukkit;
3435
import org.bukkit.Material;
@@ -46,6 +47,7 @@ public final class BukkitComponentSerializer {
4647
private BukkitComponentSerializer() {
4748
}
4849

50+
private static final boolean IS_1_13 = findEnum(Material.class, "BLUE_ICE") != null;
4951
private static final boolean IS_1_16 = findEnum(Material.class, "NETHERITE_PICKAXE") != null;
5052

5153
private static final Collection<FacetComponentFlattener.Translator<Server>> TRANSLATORS = Facet.of(
@@ -58,25 +60,29 @@ private BukkitComponentSerializer() {
5860

5961
static {
6062
FLATTENER = FacetComponentFlattener.get(Bukkit.getServer(), TRANSLATORS);
63+
64+
if (IS_1_13) {
65+
GSON_SERIALIZER = GsonComponentSerializer.builder()
66+
.options(JSONOptions.byDataVersion().at(Bukkit.getUnsafe().getDataVersion()))
67+
.build();
68+
} else {
69+
GSON_SERIALIZER = GsonComponentSerializer.builder()
70+
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
71+
.options(JSONOptions.byDataVersion().at(0))
72+
.build();
73+
}
74+
6175
if (IS_1_16) {
6276
LEGACY_SERIALIZER = LegacyComponentSerializer.builder()
6377
.hexColors()
6478
.useUnusualXRepeatedCharacterHexFormat()
6579
.flattener(FLATTENER)
6680
.build();
67-
GSON_SERIALIZER = GsonComponentSerializer.builder()
68-
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
69-
.build();
7081
} else {
7182
LEGACY_SERIALIZER = LegacyComponentSerializer.builder()
7283
.character(LegacyComponentSerializer.SECTION_CHAR)
7384
.flattener(FLATTENER)
7485
.build();
75-
GSON_SERIALIZER = GsonComponentSerializer.builder()
76-
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.get())
77-
.emitLegacyHoverEvent()
78-
.downsampleColors()
79-
.build();
8086
}
8187
}
8288

0 commit comments

Comments
 (0)