lucko / spark

A performance profiler for Minecraft clients, servers, and proxies.
https://spark.lucko.me/
GNU General Public License v3.0
1.05k stars 144 forks source link

Plugin Fails to Initialize BukkitComponentSerializer [1.20.4] #432

Closed R00tB33rMan closed 3 months ago

R00tB33rMan commented 3 months ago

Description

As title describes

Reproduction Steps

Start server and use /spark tps.

Expected Behaviour

spark works properly/accordingly and does not shoot exception.

Platform Information

Spark Version

1.10.92

Logs and Configs

https://gist.github.com/R00tB33rMan/ee3c74cefd1d3c9f36e3a547d451f318

Extra Details

No response

DxrkCat commented 3 months ago

some problem

Purpur 1.20.4

SomeBottle commented 3 months ago

Same problem.

7[22:00:33 WARN]: [spark] Plugin spark v1.10.92 generated an exception while executing task 13
java.lang.ExceptionInInitializerError: null
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.text.serializer.gson.GsonComponentSerializerImpl$BuilderImpl.<init>(GsonComponentSerializerImpl.java:125) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.text.serializer.gson.GsonComponentSerializer.builder(GsonComponentSerializer.java:84) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.platform.bukkit.BukkitComponentSerializer.<clinit>(BukkitComponentSerializer.java:67) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.platform.bukkit.BukkitFacet$Message.createMessage(BukkitFacet.java:76) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.platform.bukkit.BukkitFacet$Message.createMessage(BukkitFacet.java:69) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.platform.facet.FacetAudience.createMessage(FacetAudience.java:521) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.platform.facet.FacetAudience.sendMessage(FacetAudience.java:191) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.audience.Audience.sendMessage(Audience.java:253) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.audience.Audience.sendMessage(Audience.java:217) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.audience.ForwardingAudience.sendMessage(ForwardingAudience.java:104) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.bukkit.BukkitCommandSender.sendMessage(BukkitCommandSender.java:55) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.common.command.CommandResponseHandler.reply(CommandResponseHandler.java:90) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.common.command.CommandResponseHandler.replyPrefixed(CommandResponseHandler.java:117) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.common.command.modules.HealthModule.tps(HealthModule.java:98) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.common.SparkPlatform.executeCommand0(SparkPlatform.java:462) ~[spark-1722347504844.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.common.SparkPlatform.lambda$executeCommand$2(SparkPlatform.java:359) ~[spark-1722347504844.jar:?]
        at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.20.6.jar:1.20.6-2233-0d6766e]
        at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[purpur-1.20.6.jar:1.20.6-2233-0d6766e]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[purpur-1.20.6.jar:?]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.IllegalStateException: Key adventure:json/emit/rgb has already been used. Option keys must be unique.
        at net.kyori.option.OptionImpl.option(OptionImpl.java:49) ~[option-1.0.0.jar:?]
        at net.kyori.option.Option.booleanOption(Option.java:52) ~[option-1.0.0.jar:?]
        at spark-1722347504844.jar/me.lucko.spark.lib.adventure.text.serializer.json.JSONOptions.<clinit>(JSONOptions.java:54) ~[spark-1722347504844.jar:?]
        ... 22 more

I'm using Purpur-1.20.6 Build 2233. And I got the exceptions above when I am trying to execute the command /tps.

The built-in spark version is 1.10.92.

banimania commented 3 months ago

Same problem in Paper 1.20.6

banimania commented 3 months ago

I can confirm latest commit (#432) fixed this issue.

lucko commented 3 months ago

Thanks for the confirmation :)

fixed in 1.10.93 & newer