Skip to content

Add compatibility for ProtocolLib 5.3.0/5.4.0 on 1.8 servers #228

@ewigkeitstraum

Description

@ewigkeitstraum

currently, it's only possible to run the plugin on 1.8.8 servers if the version of ProtocolLib used is 5.2.0. otherwise, it'll be impossible to use the plugin when trying to watch a replay

unfortunately, several must-have plugins no longer support such old versions of protocollib, and using 5.2.0 isn't possible nowadays. our network currently uses 5.4.0

the error in question occurs when trying to watch a replay:

[10:14:52 WARN]: [AdvancedReplay] Task #465 for AdvancedReplay v1.8.11 generated an exception
java.lang.IllegalArgumentException: Type cannot be NULL.
at com.comphenix.protocol.reflect.StructureModifier.getFields(StructureModifier.java:169) ~[?:?]
at com.comphenix.protocol.reflect.StructureModifier.(StructureModifier.java:118) ~[?:?]
at com.comphenix.protocol.reflect.StructureModifier.(StructureModifier.java:103) ~[?:?]
at com.comphenix.protocol.wrappers.WrappedDataWatcher$WrappedDataWatcherObject.(WrappedDataWatcher.java:753) ~[?:?]
at com.comphenix.protocol.wrappers.WrappedWatchableObject.getWatcherObject(WrappedWatchableObject.java:178) ~[?:?]
at com.comphenix.protocol.wrappers.LegacyDataWatcher.deepClone(LegacyDataWatcher.java:385) ~[?:?]
at com.comphenix.protocol.wrappers.WrappedDataWatcher.deepClone(WrappedDataWatcher.java:618) ~[?:?]
at me.jumper251.replay.replaysystem.utils.MetadataBuilder.(MetadataBuilder.java:22) ~[?:?]
at me.jumper251.replay.replaysystem.replaying.ReplayingUtils.spawnNPC(ReplayingUtils.java:480) ~[?:?]
at me.jumper251.replay.replaysystem.replaying.ReplayingUtils.handleAction(ReplayingUtils.java:70) ~[?:?]
at me.jumper251.replay.replaysystem.replaying.Replayer.executeTick(Replayer.java:154) ~[?:?]
at me.jumper251.replay.replaysystem.replaying.Replayer.start(Replayer.java:110) ~[?:?]
at me.jumper251.replay.replaysystem.Replay.startReplay(Replay.java:69) ~[?:?]
at me.jumper251.replay.replaysystem.Replay.lambda$play$0(Replay.java:60) ~[?:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) ~[server.jar:git-PaperSpigot-cbe632ca]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) ~[server.jar:git-PaperSpigot-cbe632ca]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:920) ~[server.jar:git-PaperSpigot-cbe632ca]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:368) ~[server.jar:git-PaperSpigot-cbe632ca]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:846) ~[server.jar:git-PaperSpigot-cbe632ca]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:682) ~[server.jar:git-PaperSpigot-cbe632ca]
at net.minecraft.server.v1_8_R3.MinecraftServer.lambda$spin$0(MinecraftServer.java:135) ~[server.jar:git-PaperSpigot-cbe632ca]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

[10:14:55 ERROR]: Could not pass event PlayerTeleportEvent to AdvancedReplay v1.8.11
org.bukkit.event.EventException: null

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions