Holographic Displays

Holographic Displays

3M Downloads

Error thrown by hologram visibility

SlimeDog opened this issue ยท 7 comments

commented

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) [?:?]
commented

Should be fixed in the latest dev build. I will release a Bukkit Dev update.

commented

Confirm that it was fixed in 2.4.9-b179.

commented
commented

We will wait for the official merge and build. Hopefully, that will happen soon.

commented

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 ...

commented

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) [?:?]

image

commented

Error remains with updates of underlying components:

Spigot 1.17.1-3173 or Paper 1.17.1-97
ProtocolLib 4.7.0-b529

LuckPerms 5.3.51 (unchanged)
pHD 1.1.0 (unchanged)