Error thrown by hologram visibility
SlimeDog opened this issue ยท 7 comments
Confirmation
- I have read the FAQ.
- I have tested the latest development build of Holographic Displays and the bug is still present.
- I have updated Spigot (and ProtocolLib if installed) to the latest release for my particular Minecraft version.
- I made sure the bug hasn't already been reported on the issue tracker.
Description
pHD toggling Hologram visibility throws exception
How to reproduce
Toggle hologram visibility programmatically, through pHD. This is are standard test case. It works fine on 1.17 and previously.
Server version
3173-Spigot-610a8c0-b5d7883 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT)
or
git-Paper-94 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: d770f71)
Holographic Displays version
2.4.8-b178
ProtocolLib version (if installed)
4.7.0-SNAPSHOT-b528
Installed plugins that allow players to join with multiple Minecraft versions
No response
Additional information
LuckPerms 5.3.51
pHD 1.1.0
[07:21:02 WARN]: [pHD] Task #21317 for pHD v1.1.0 generated an exception
com.comphenix.protocol.reflect.FieldAccessException: No field with type int exists in class PacketPlayOutEntityDestroy.
at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:365) ~[?:?]
at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345) ~[?:?]
at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.packet.WrapperPlayServerEntityDestroy.setEntity_1_17(WrapperPlayServerEntityDestroy.java:63) ~[?:?]
at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.PacketHelper.sendDestroyEntitiesPacket(PacketHelper.java:135) ~[?:?]
at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.ProtocolLibHookImpl.sendDestroyEntitiesPacket(ProtocolLibHookImpl.java:218) ~[?:?]
at com.gmail.filoghost.holographicdisplays.object.CraftVisibilityManager.sendDestroyPacketIfNear(CraftVisibilityManager.java:172) ~[?:?]
at com.gmail.filoghost.holographicdisplays.object.CraftVisibilityManager.hideTo(CraftVisibilityManager.java:106) ~[?:?]
at me.ford.periodicholographicdisplays.holograms.PeriodicHologramBase.hideFromInternal(PeriodicHologramBase.java:166) ~[?:?]
at me.ford.periodicholographicdisplays.holograms.PeriodicHologramBase.hideFrom(PeriodicHologramBase.java:161) ~[?:?]
at me.ford.periodicholographicdisplays.holograms.WorldHologramStorage.resetAlwaysHologramPermissions(WorldHologramStorage.java:131) ~[?:?]
at me.ford.periodicholographicdisplays.hooks.LuckPermsHook.resetAlwaysHolgramPermissionsSafely(LuckPermsHook.java:71) ~[?:?]
at me.ford.periodicholographicdisplays.hooks.LuckPermsHook.lambda$4(LuckPermsHook.java:68) ~[?:?]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.17.1.jar:git-Paper-94]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.17.1.jar:git-Paper-94]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1490) ~[patched_1.17.1.jar:git-Paper-94]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:479) ~[patched_1.17.1.jar:git-Paper-94]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1406) ~[patched_1.17.1.jar:git-Paper-94]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1188) ~[patched_1.17.1.jar:git-Paper-94]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[patched_1.17.1.jar:git-Paper-94]
at java.lang.Thread.run(Thread.java:831) [?:?]
Download to the above jar: https://dl.projecteden.gg/HolographicDisplays.jar
I confirmed that the projecteden 2.4.9 build (above) resolves the visibility-toggle issues in 1.17.1. Waiting for filoghost to merge the PR and build officially ...
Also getting this error
[15:43:55] [Server thread/WARN]: [ProtocolLib] Loaded class com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.packet.WrapperPlayServerEntityDestroy from HolographicDisplays v2.4.8 which is not a depend, softdepend or loadbefore of this plugin.
[15:43:55] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to Nexus v2.0
com.comphenix.protocol.reflect.FieldAccessException: No field with type int exists in class PacketPlayOutEntityDestroy.
at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:365) ~[?:?]
at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345) ~[?:?]
at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.packet.WrapperPlayServerEntityDestroy.setEntity_1_17(WrapperPlayServerEntityDestroy.java:63) ~[?:?]
at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.PacketHelper.sendDestroyEntitiesPacket(PacketHelper.java:135) ~[?:?]
at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.ProtocolLibHookImpl.sendDestroyEntitiesPacket(ProtocolLibHookImpl.java:218) ~[?:?]
at com.gmail.filoghost.holographicdisplays.object.CraftVisibilityManager.sendDestroyPacketIfNear(CraftVisibilityManager.java:172) ~[?:?]
at com.gmail.filoghost.holographicdisplays.object.CraftVisibilityManager.setVisibleByDefault(CraftVisibilityManager.java:64) ~[?:?]
at me.pugabyte.nexus.features.crates.models.Crate.hideHologram(Crate.java:99) ~[?:?]
at me.pugabyte.nexus.features.crates.models.Crate.openCrate(Crate.java:111) ~[?:?]
at me.pugabyte.nexus.features.crates.Crates.onClickWithKey(Crates.java:155) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor3407.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[parchment.jar:git-Parchment-"7aaefe6"]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[parchment.jar:git-Parchment-"7aaefe6"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[parchment.jar:git-Parchment-"7aaefe6"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[parchment.jar:git-Parchment-"7aaefe6"]
at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:538) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:509) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1723) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:33) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:9) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:36) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:149) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(IAsyncTaskHandlerReentrant.java:23) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:1348) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:190) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:122) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.bf(MinecraftServer.java:1327) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1320) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:132) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1281) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1192) ~[parchment.jar:git-Parchment-"7aaefe6"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[parchment.jar:git-Parchment-"7aaefe6"]
at java.lang.Thread.run(Thread.java:831) [?:?]