TAB would correctly load as it does on Paper/Purpur
Observed/Actual behavior
TAB fails to load with the following error
java.lang.ClassCastException: class [Ljava.lang.Double; cannot be cast to class [D ([Ljava.lang.Double; and [D are in module java.base of loader 'bootstrap')
at TAB v4.1.6.jar/me.neznamy.tab.platforms.bukkit.platform.BukkitPlatform.<init>(BukkitPlatform.java:90) ~[TAB v4.1.6.jar:?]
at TAB v4.1.6.jar/me.neznamy.tab.platforms.bukkit.BukkitTAB.onEnable(BukkitTAB.java:17) ~[TAB v4.1.6.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:293) ~[?:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:204) ~[?:1.21-DEV-7a733c7]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[?:1.21-DEV-7a733c7]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[?:?]
at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:732) ~[?:1.21-DEV-7a733c7]
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:674) ~[?:1.21-DEV-7a733c7]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:797) ~[?:1.21-DEV-7a733c7]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:532) ~[?:1.21-DEV-7a733c7]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:377) ~[?:1.21-DEV-7a733c7]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1322) ~[?:1.21-DEV-7a733c7]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:332) ~[?:1.21-DEV-7a733c7]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[X] I have searched for and ensured there isn't already an open issue regarding this.
[ ] I ticked all the boxes without actually reading them
[X] My version of Minecraft is supported by Canvas.
Other
It seems that specifically what breaks is fetching the TPS. Based on the code TAB is expecting and array of Doubles but instead gets just a Double.
TAB code:
Object server = Bukkit.getServer().getClass().getMethod("getServer").invoke(Bukkit.getServer());
recentTps = ((double[]) server.getClass().getField("recentTps").get(server)); // This line errors
Spark link
N/A
Expected behavior
TAB would correctly load as it does on Paper/Purpur
Observed/Actual behavior
TAB fails to load with the following error
Steps/models to reproduce
Install the TAB plugin
Canvas version
Current Canvas Version: 1.21-DEV-7a733c7 (MC: 1.21)*
Agreements
Other
It seems that specifically what breaks is fetching the TPS. Based on the code TAB is expecting and array of Doubles but instead gets just a Double.
TAB code:
BukkitPlatform Class