Holographic Displays

Holographic Displays

3M Downloads

Visibility-related error

SlimeDog opened this issue ยท 3 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

Describe the bug
Error in generated when a HolographicDisplays hologram visibility is changed to false by pHD. There may be other methods to set the hologram visibility. If this is a ProtocolLib issue, please accept my apology, and I will post there.

Environment

  • Java 16.0.1
  • Spigot 1.17-3159 or Paper 1.17-39
  • ProtocolLib 4.7.0-SNAPSHOT-b521
  • HolographicDisplays 2.4.8-SNAPSHOT-b175
  • pHD 1.0.5-SNAPSHOT (internal testing, available on request)

This feature worked flawlessly with

  • Spigot/Paper 1.16.5
  • ProtocolLib 4.6.1-b505
  • HolographicDisplays 2.4.6-b164
  • pHD 1.0.4

How to reproduce

  1. Place player in range of hologram
  2. Set hologram visibility:false
  3. Read the error in log

Server version

This server is running CraftBukkit version 3159-Spigot-f773da8-887bc05 (MC: 1.17) (Implementing API version 1.17-R0.1-SNAPSHOT) You are running the latest version

Holographic Displays version

HolographicDisplays version 2.4.8-SNAPSHOT-b175

ProtocolLib version (if installed)

ProtocolLib version 4.7.0-SNAPSHOT-b521

Installed plugins that allow players to join with multiple Minecraft versions

ViaVersion version 4.0.1-1.17.1-pre1-SNAPSHOT

Additional information

[15:38:49] [Server thread/WARN]: [pHD] Task #2060 for pHD v1.0.5-SNAPSHOT generated an exception
com.comphenix.protocol.reflect.FieldAccessException: No field with type [I 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.setEntities(WrapperPlayServerEntityDestroy.java:51) ~[?:?]
        at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.packet.WrapperPlayServerEntityDestroy.setEntities(WrapperPlayServerEntityDestroy.java:59) ~[?:?]
        at com.gmail.filoghost.holographicdisplays.bridge.protocollib.current.PacketHelper.sendDestroyEntitiesPacket(PacketHelper.java:132) ~[?:?]
        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:81) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1252) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:436) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1200) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1027) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307) ~[spigot-1.17-3159.jar:3159-Spigot-f773da8-887bc05]
        at java.lang.Thread.run(Thread.java:831) [?:?]
commented

With

  • HolographicDisplays 2.4.8-SNAPSHOT-b176

The WARN and stacktrace no longer occur, but the visibility is not changed.

commented

Should be fixed in the latest dev build.

commented

Confirmed fixed in HD 2.4.8-b178. Thanks.