From 6a2f1d4cb8ad0376632e1e461a63cf9af6312fd4 Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Wed, 28 Jun 2023 11:14:47 +0200 Subject: [PATCH] make papi util use legacy component serializer for setting placeholders in components --- .../src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java | 14 +++++++------- .../pyr/znpcsplus/packets/V1_10PacketFactory.java | 5 +++-- .../pyr/znpcsplus/packets/V1_11PacketFactory.java | 5 +++-- .../pyr/znpcsplus/packets/V1_14PacketFactory.java | 5 +++-- .../pyr/znpcsplus/packets/V1_16PacketFactory.java | 5 +++-- .../pyr/znpcsplus/packets/V1_17PacketFactory.java | 5 +++-- .../pyr/znpcsplus/packets/V1_19PacketFactory.java | 5 +++-- .../pyr/znpcsplus/packets/V1_8PacketFactory.java | 7 +++++-- .../pyr/znpcsplus/packets/V1_9PacketFactory.java | 5 +++-- .../main/java/lol/pyr/znpcsplus/util/PapiUtil.java | 5 ++--- 10 files changed, 35 insertions(+), 26 deletions(-) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java index cb60cec..b7ddde7 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/ZNpcsPlus.java @@ -218,13 +218,13 @@ public class ZNpcsPlus extends JavaPlugin { private PacketFactory setupPacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, EntityPropertyRegistryImpl propertyRegistry) { HashMap> versions = new HashMap<>(); - versions.put(ServerVersion.V_1_8, LazyLoader.of(() -> new V1_8PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); - versions.put(ServerVersion.V_1_9, LazyLoader.of(() -> new V1_9PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); - versions.put(ServerVersion.V_1_10, LazyLoader.of(() -> new V1_10PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); - versions.put(ServerVersion.V_1_14, LazyLoader.of(() -> new V1_14PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); - versions.put(ServerVersion.V_1_16, LazyLoader.of(() -> new V1_16PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); - versions.put(ServerVersion.V_1_17, LazyLoader.of(() -> new V1_17PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); - versions.put(ServerVersion.V_1_19, LazyLoader.of(() -> new V1_19PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry))); + versions.put(ServerVersion.V_1_8, LazyLoader.of(() -> new V1_8PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); + versions.put(ServerVersion.V_1_9, LazyLoader.of(() -> new V1_9PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); + versions.put(ServerVersion.V_1_10, LazyLoader.of(() -> new V1_10PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); + versions.put(ServerVersion.V_1_14, LazyLoader.of(() -> new V1_14PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); + versions.put(ServerVersion.V_1_16, LazyLoader.of(() -> new V1_16PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); + versions.put(ServerVersion.V_1_17, LazyLoader.of(() -> new V1_17PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); + versions.put(ServerVersion.V_1_19, LazyLoader.of(() -> new V1_19PacketFactory(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer))); ServerVersion version = packetEvents.getServerManager().getVersion(); if (versions.containsKey(version)) return versions.get(version).get(); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java index 6bb00ba..bd3fe90 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_10PacketFactory.java @@ -7,14 +7,15 @@ import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import java.util.Map; public class V1_10PacketFactory extends V1_9PacketFactory { - public V1_10PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_10PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_11PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_11PacketFactory.java index 4649f7d..de725ff 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_11PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_11PacketFactory.java @@ -7,14 +7,15 @@ import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import java.util.Map; public class V1_11PacketFactory extends V1_10PacketFactory { - public V1_11PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_11PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java index 8a8d3fa..deabbdb 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_14PacketFactory.java @@ -12,6 +12,7 @@ import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; import lol.pyr.znpcsplus.util.NpcLocation; import lol.pyr.znpcsplus.util.NpcPose; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -19,8 +20,8 @@ import java.util.Map; import java.util.Optional; public class V1_14PacketFactory extends V1_11PacketFactory { - public V1_14PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_14PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_16PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_16PacketFactory.java index 354d0a9..3681218 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_16PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_16PacketFactory.java @@ -8,14 +8,15 @@ import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import java.util.List; public class V1_16PacketFactory extends V1_14PacketFactory { - public V1_16PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_16PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_17PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_17PacketFactory.java index 515c94c..5688676 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_17PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_17PacketFactory.java @@ -7,14 +7,15 @@ import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import java.util.Map; public class V1_17PacketFactory extends V1_16PacketFactory { - public V1_17PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_17PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java index a06262a..e078ebc 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_19PacketFactory.java @@ -13,6 +13,7 @@ import lol.pyr.znpcsplus.api.entity.PropertyHolder; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -21,8 +22,8 @@ import java.util.concurrent.CompletableFuture; public class V1_19PacketFactory extends V1_17PacketFactory { private final boolean oldTabPackets; - public V1_19PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_19PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); oldTabPackets = packetEvents.getServerManager().getVersion().isOlderThanOrEquals(ServerVersion.V_1_19_2); } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java index e6e0262..6d5be06 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java @@ -21,6 +21,7 @@ import lol.pyr.znpcsplus.util.PapiUtil; import lol.pyr.znpcsplus.util.Vector3f; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.Color; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; @@ -33,12 +34,14 @@ public class V1_8PacketFactory implements PacketFactory { protected final MetadataFactory metadataFactory; protected final PacketEventsAPI packetEvents; protected final EntityPropertyRegistryImpl propertyRegistry; + protected final LegacyComponentSerializer textSerializer; - public V1_8PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { + public V1_8PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { this.scheduler = scheduler; this.metadataFactory = metadataFactory; this.packetEvents = packetEvents; this.propertyRegistry = propertyRegistry; + this.textSerializer = textSerializer; } @Override @@ -160,7 +163,7 @@ public class V1_8PacketFactory implements PacketFactory { add(data, metadataFactory.armorStandRightLegRotation(properties.getProperty(propertyRegistry.getByName("right_leg_rotation", Vector3f.class)))); } if (properties.hasProperty(propertyRegistry.getByName("name"))) { - add(data, metadataFactory.name(PapiUtil.set(player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); + add(data, metadataFactory.name(PapiUtil.set(textSerializer, player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); add(data, metadataFactory.nameShown()); } return data; diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java index f593cfa..d7c914b 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_9PacketFactory.java @@ -7,14 +7,15 @@ import lol.pyr.znpcsplus.entity.EntityPropertyRegistryImpl; import lol.pyr.znpcsplus.entity.PacketEntity; import lol.pyr.znpcsplus.metadata.MetadataFactory; import lol.pyr.znpcsplus.scheduling.TaskScheduler; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import java.util.Map; public class V1_9PacketFactory extends V1_8PacketFactory { - public V1_9PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry) { - super(scheduler, metadataFactory, packetEvents, propertyRegistry); + public V1_9PacketFactory(TaskScheduler scheduler, MetadataFactory metadataFactory, PacketEventsAPI packetEvents, EntityPropertyRegistryImpl propertyRegistry, LegacyComponentSerializer textSerializer) { + super(scheduler, metadataFactory, packetEvents, propertyRegistry, textSerializer); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/util/PapiUtil.java b/plugin/src/main/java/lol/pyr/znpcsplus/util/PapiUtil.java index ec01623..f64d63b 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/util/PapiUtil.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/util/PapiUtil.java @@ -2,7 +2,7 @@ package lol.pyr.znpcsplus.util; import me.clip.placeholderapi.PlaceholderAPI; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.MiniMessage; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -20,9 +20,8 @@ public class PapiUtil { } // Ugly workaround would be cool if a better solution existed - public static Component set(Player player, Component component) { + public static Component set(LegacyComponentSerializer serializer, Player player, Component component) { if (!isSupported()) return component; - MiniMessage serializer = MiniMessage.miniMessage(); return serializer.deserialize(set(player, serializer.serialize(component))); } }