diff --git a/main/pom.xml b/main/pom.xml index 1b012496c..3e1e631b2 100644 --- a/main/pom.xml +++ b/main/pom.xml @@ -10,7 +10,7 @@ UTF-8 1.20.4-R0.1-SNAPSHOT - 2.11.2 + 2.11.5 ${project.version} 7.1.0-SNAPSHOT 1.4.12 @@ -121,13 +121,13 @@ net.kyori adventure-text-minimessage - 4.14.0 + 4.15.0 provided net.kyori adventure-platform-bukkit - 4.3.1 + 4.3.2 provided diff --git a/main/src/main/java/net/citizensnpcs/Citizens.java b/main/src/main/java/net/citizensnpcs/Citizens.java index 6f88a67ef..eff10e12b 100644 --- a/main/src/main/java/net/citizensnpcs/Citizens.java +++ b/main/src/main/java/net/citizensnpcs/Citizens.java @@ -275,6 +275,10 @@ public class Citizens extends JavaPlugin implements CitizensPlugin { return getClassLoader(); } + public ProtocolLibListener getProtocolLibListener() { + return protocolListener; + } + public StoredShops getShops() { return shops; } @@ -296,21 +300,21 @@ public class Citizens extends JavaPlugin implements CitizensPlugin { lib.loadLibrary(Library.builder().groupId("net{}sf{}trove4j").artifactId("trove4j").version("3.0.3") .relocate("gnu{}trove", "clib{}trove").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-text-minimessage") - .version("4.14.0").relocate("net{}kyori", "clib{}net{}kyori").build()); - lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-api").version("4.14.0") + .version("4.15.0").relocate("net{}kyori", "clib{}net{}kyori").build()); + lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-api").version("4.15.0") .relocate("net{}kyori", "clib{}net{}kyori").build()); - lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-key").version("4.14.0") + lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-key").version("4.15.0") .relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("examination-api").version("1.3.0") .relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("examination-string").version("1.3.0") .relocate("net{}kyori", "clib{}net{}kyori").build()); - lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-bukkit").version("4.3.1") + lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-bukkit").version("4.3.2") .relocate("net{}kyori", "clib{}net{}kyori").build()); - lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-api").version("4.3.1") + lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-api").version("4.3.2") .relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-text-serializer-bungeecord") - .version("4.3.1").relocate("net{}kyori", "clib{}net{}kyori").build()); + .version("4.3.2").relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-text-serializer-legacy") .version("4.13.1").relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-nbt").version("4.13.1") @@ -319,10 +323,10 @@ public class Citizens extends JavaPlugin implements CitizensPlugin { .version("4.13.1").relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-text-serializer-gson-legacy-impl") .version("4.13.1").relocate("net{}kyori", "clib{}net{}kyori").build()); - lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-facet").version("4.3.1") + lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-facet").version("4.3.2") .relocate("net{}kyori", "clib{}net{}kyori").build()); lib.loadLibrary(Library.builder().groupId("net{}kyori").artifactId("adventure-platform-viaversion") - .version("4.3.1").relocate("net{}kyori", "clib{}net{}kyori").build()); + .version("4.3.2").relocate("net{}kyori", "clib{}net{}kyori").build()); try { Class.forName("org.joml.Vector3f"); } catch (Throwable t) { diff --git a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 2ce35d26f..934d6c56a 100644 --- a/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/main/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -55,6 +55,7 @@ import com.google.common.collect.Lists; import com.google.common.io.BaseEncoding; import net.citizensnpcs.Citizens; +import net.citizensnpcs.ProtocolLibListener; import net.citizensnpcs.Settings.Setting; import net.citizensnpcs.StoredShops; import net.citizensnpcs.api.CitizensAPI; @@ -162,6 +163,7 @@ import net.citizensnpcs.util.Util; @Requirements(selected = true, ownership = true) public class NPCCommands { private final CommandHistory history; + private final ProtocolLibListener protocolListener; private final NPCSelector selector; private final StoredShops shops; private final NPCRegistry temporaryRegistry; @@ -171,6 +173,7 @@ public class NPCCommands { shops = plugin.getShops(); temporaryRegistry = CitizensAPI.createCitizensBackedNPCRegistry(new MemoryNPCDataStore()); history = new CommandHistory(selector); + protocolListener = plugin.getProtocolLibListener(); } @Command( @@ -1703,7 +1706,11 @@ public class NPCCommands { max = 1, permission = "citizens.npc.mirror") @Requirements(selected = true, ownership = true) - public void mirror(CommandContext args, CommandSender sender, NPC npc, @Flag("name") Boolean name) { + public void mirror(CommandContext args, CommandSender sender, NPC npc, @Flag("name") Boolean name) + throws CommandException { + if (protocolListener == null) + throw new CommandException("ProtocolLib must be enabled to use this feature"); + MirrorTrait trait = npc.getOrAddTrait(MirrorTrait.class); if (name != null) { trait.setEnabled(true);