Skript
Skript copied to clipboard
1.14 Time played expression throws error
Skript/Server Version
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] Skript's documentation can be found here: https://skriptlang.github.io/Skript
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] Server Version: git-Spigot-56f8471-56118c6 (MC: 1.14.4)
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] Skript Version: 2.6.2
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] Installed Skript Addons:
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] - HydraDB v0.2C
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] - BungeeSK v1.1.0 (https://github.com/ZorgBtw/BungeeSK)
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] - skript-gui v1.3-beta2 (https://github.com/APickledWalrus/skript-gui)
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] - skRayFall v1.9.18 (https://sk.rayfall.net/)
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] - SkQuery v4.1.5
[10:37:17] [Render thread/INFO]: [CHAT] [Skript] Installed dependencies: None
Bug Description
"An internal error occurred while attempting to perform this command" when try to use "time played" expression in a command.
Expected Behavior
Get the time played by a player. The info is stored in the player's statistics in the main world's data folder
Steps to Reproduce
command /test: trigger: set {_t} to time played of player broadcast "%{_t}%"
Errors or Screenshots
[10:35:33] [Server thread/INFO]: Perkiss issued server command: /test [10:35:33] [Server thread/ERROR]: Could not pass event PlayerCommandPreprocessEvent to Skript v2.6.2 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot.jar:git-Spigot-56f8471-56118c6] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot.jar:git-Spigot-56f8471-56118c6] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[spigot.jar:git-Spigot-56f8471-56118c6] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1633) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1481) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:909) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:902) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:886) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:819) [spigot.jar:git-Spigot-56f8471-56118c6] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: java.lang.NoSuchMethodError: 'int org.bukkit.OfflinePlayer.getStatistic(org.bukkit.Statistic)' at ch.njol.skript.expressions.ExprTimePlayed.convert(ExprTimePlayed.java:72) ~[?:?] at ch.njol.skript.expressions.ExprTimePlayed.convert(ExprTimePlayed.java:41) ~[?:?] at ch.njol.skript.registrations.Converters.convert(Converters.java:390) ~[?:?] at ch.njol.skript.registrations.Converters.convertUnsafe(Converters.java:381) ~[?:?] at ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:102) ~[?:?] at ch.njol.skript.expressions.base.SimplePropertyExpression.get(SimplePropertyExpression.java:53) ~[?:?] at ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:73) ~[?:?] at ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:99) ~[?:?] at ch.njol.skript.effects.EffChange.execute(EffChange.java:274) ~[?:?] at ch.njol.skript.lang.Effect.run(Effect.java:50) ~[?:?] at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61) ~[?:?] at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89) ~[?:?] at ch.njol.skript.lang.Trigger.execute(Trigger.java:56) ~[?:?] at ch.njol.skript.command.ScriptCommand.execute2(ScriptCommand.java:285) ~[?:?] at ch.njol.skript.command.ScriptCommand.lambda$execute$0(ScriptCommand.java:250) ~[?:?] at ch.njol.skript.command.ScriptCommand.execute(ScriptCommand.java:255) ~[?:?] at ch.njol.skript.command.Commands.handleCommand(Commands.java:260) ~[?:?] at ch.njol.skript.command.Commands$1.onPlayerCommand(Commands.java:177) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot.jar:git-Spigot-56f8471-56118c6] ... 18 more [10:35:33] [Server thread/ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'test' in plugin Skript v2.6.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[spigot.jar:git-Spigot-56f8471-56118c6] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot.jar:git-Spigot-56f8471-56118c6] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:710) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1641) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1481) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:909) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:902) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:886) [spigot.jar:git-Spigot-56f8471-56118c6] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:819) [spigot.jar:git-Spigot-56f8471-56118c6] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: java.lang.NoSuchMethodError: 'int org.bukkit.OfflinePlayer.getStatistic(org.bukkit.Statistic)' at ch.njol.skript.expressions.ExprTimePlayed.convert(ExprTimePlayed.java:72) ~[?:?] at ch.njol.skript.expressions.ExprTimePlayed.convert(ExprTimePlayed.java:41) ~[?:?] at ch.njol.skript.registrations.Converters.convert(Converters.java:390) ~[?:?] at ch.njol.skript.registrations.Converters.convertUnsafe(Converters.java:381) ~[?:?] at ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:102) ~[?:?] at ch.njol.skript.expressions.base.SimplePropertyExpression.get(SimplePropertyExpression.java:53) ~[?:?] at ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:73) ~[?:?] at ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:99) ~[?:?] at ch.njol.skript.effects.EffChange.execute(EffChange.java:274) ~[?:?] at ch.njol.skript.lang.Effect.run(Effect.java:50) ~[?:?] at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61) ~[?:?] at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89) ~[?:?] at ch.njol.skript.lang.Trigger.execute(Trigger.java:56) ~[?:?] at ch.njol.skript.command.ScriptCommand.execute2(ScriptCommand.java:285) ~[?:?] at ch.njol.skript.command.ScriptCommand.lambda$execute$0(ScriptCommand.java:250) ~[?:?] at ch.njol.skript.command.ScriptCommand.execute(ScriptCommand.java:255) ~[?:?] at ch.njol.skript.command.ScriptCommand.onCommand(ScriptCommand.java:194) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot.jar:git-Spigot-56f8471-56118c6] ... 17 more
Other
No response
Agreement
- [X] I have read the guidelines above and affirm I am following them with this report.
OfflinePlayer#getStatistic was added in 1.16
@AyhamAl-Ali Can you add tests for this so that pull request https://github.com/SkriptLang/Skript/pull/4845 can catch errors like this
set {_time} to time played of "Notch" parsed as offlineplayer
assert {_time} is equal to 0 seconds with "Notch hacked your server and built a dirt house on your server"
Sure