Jumper251 / AdvancedReplay

Minecraft plugin to record players on your server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

java.io.OptionalDataException when trying to play or display info of a saved replay

Lopolin-LP opened this issue · comments

I will try to attach as much info as possible.

Problem

Starting, Stopping and Saving a recording works without issue, however playing or displaying info about it causes the following error:

[19:41:59 INFO]: Lopolin issued server command: /rp info kSCt92
[19:41:59 WARN]: java.io.OptionalDataException
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1767)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
[19:41:59 WARN]: at java.base/java.util.HashMap.readObject(HashMap.java:1550)
[19:41:59 WARN]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[19:41:59 WARN]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[19:41:59 WARN]: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[19:41:59 WARN]: at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[19:41:59 WARN]: at java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1231)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2434)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2268)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream$FieldValues.<init>(ObjectInputStream.java:2617)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2468)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2268)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
[19:41:59 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
[19:41:59 WARN]: at Replay.jar//me.jumper251.replay.filesystem.saving.DefaultReplaySaver$1.getValue(DefaultReplaySaver.java:77)
[19:41:59 WARN]: at Replay.jar//me.jumper251.replay.filesystem.saving.DefaultReplaySaver$1.getValue(DefaultReplaySaver.java:65)
[19:41:59 WARN]: at Replay.jar//me.jumper251.replay.utils.fetcher.Acceptor.run(Acceptor.java:17)
[19:41:59 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[19:41:59 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[19:41:59 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[19:41:59 WARN]: Exception in thread "pool-59-thread-1" java.lang.NullPointerException: Cannot invoke "me.jumper251.replay.replaysystem.Replay.getReplayInfo()" because "replay" is null
[19:41:59 WARN]: at Replay.jar//me.jumper251.replay.commands.replay.ReplayInfoCommand.lambda$execute$0(ReplayInfoCommand.java:45)
[19:41:59 WARN]: at Replay.jar//me.jumper251.replay.utils.fetcher.Acceptor.run(Acceptor.java:17)
[19:41:59 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[19:41:59 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[19:41:59 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[19:45:04 INFO]: Lopolin issued server command: /rp play kSCt92
[19:45:04 WARN]: java.io.OptionalDataException
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1767)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
[19:45:04 WARN]: at java.base/java.util.HashMap.readObject(HashMap.java:1550)
[19:45:04 WARN]: at java.base/jdk.internal.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
[19:45:04 WARN]: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[19:45:04 WARN]: at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[19:45:04 WARN]: at java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1231)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2434)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2268)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream$FieldValues.<init>(ObjectInputStream.java:2617)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2468)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2268)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1744)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:514)
[19:45:04 WARN]: at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:472)
[19:45:04 WARN]: at Replay.jar//me.jumper251.replay.filesystem.saving.DefaultReplaySaver$1.getValue(DefaultReplaySaver.java:77)
[19:45:04 WARN]: at Replay.jar//me.jumper251.replay.filesystem.saving.DefaultReplaySaver$1.getValue(DefaultReplaySaver.java:65)
[19:45:04 WARN]: at Replay.jar//me.jumper251.replay.utils.fetcher.Acceptor.run(Acceptor.java:17)
[19:45:04 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[19:45:04 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[19:45:04 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[19:45:04 WARN]: Exception in thread "pool-59-thread-3" java.lang.NullPointerException: Cannot invoke "me.jumper251.replay.replaysystem.Replay.getData()" because "replay" is null
[19:45:04 WARN]: at Replay.jar//me.jumper251.replay.commands.replay.ReplayPlayCommand$1.accept(ReplayPlayCommand.java:43)
[19:45:04 WARN]: at Replay.jar//me.jumper251.replay.commands.replay.ReplayPlayCommand$1.accept(ReplayPlayCommand.java:39)
[19:45:04 WARN]: at Replay.jar//me.jumper251.replay.utils.fetcher.Acceptor.run(Acceptor.java:17)
[19:45:04 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[19:45:04 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[19:45:04 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)

It seems that something called "replay" is null. Could mean it failed to recieve the data of the file, because these files aren't actually empty.

Server Info

  • Purpur 1.19.4 - Offline Mode
  • Players Online: 2, 1x Java, 1x Bedrock (through Geyser)

Installed Plugins (if that helps)

  • AdvancedBan-Bundle-2.3.0-RELEASE.jar
  • CoreProtect-21.3.jar
  • DiscordSRV-Build-1.26.2.jar
  • floodgate-spigot.jar
  • FreedomChat-1.4.2.jar
  • Geyser-Spigot.jar
  • KarmaPlugin.jar
  • LockLogin.jar
  • LuckPerms-Bukkit-5.4.71.jar
  • MyCommand.jar
  • PlaceholderAPI-2.11.3.jar
  • ProtocolLib (2).jar
  • Replay.jar
  • ResourcePackDownloader-7.4.jar
  • SkinsRestorer.jar
  • spark-1.10.37-bukkit.jar
  • Themis_0.14.6.jar
  • ViaBackwards-4.6.1.jar
  • ViaVersion-4.6.2.jar
  • voicechat-bukkit-2.4.4.jar
  • XCatch-1.1.4.jar

Config of Plugin

general:
  max_length: 86400
  record_on_startup: false
  save_on_stop: true
  use_mysql: false
  use_offline_skins: true
  quality: medium
  cleanup_replays: -1
  hide_players: false
  add_new_players: true
  update_notifications: true
  death_message: '&6{name} &7died.'
  quit_message: '&6{name} &7left the game.'
  join_message: '&6{name} &7joined the game.'
replaying:
  world:
    reset_changes: false
recording:
  blocks:
    enabled: true
    real_changes: true
  entities:
    enabled: true
    items:
      enabled: true
  chat:
    enabled: true
    format: '&r<{name}> {message}'