SkytAsul / GlowingEntities

An API to easily make Minecraft entities glow. No dependencies, compatible 1.17 -> 1.21.
MIT License
62 stars 8 forks source link

java.util.NoSuchElementException: packet_handler #4

Closed OakLoaf closed 1 year ago

OakLoaf commented 1 year ago

I keep getting the following error and no colour changes:

[05:14:10 WARN]: [Fairies] Task #75 for Fairies v1.0 generated an exception
java.util.NoSuchElementException: packet_handler
        at io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at me.dave.fairies.utils.GlowingEntities$Packets.addPacketsHandler(GlowingEntities.java:721) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.utils.GlowingEntities.setGlowing(GlowingEntities.java:158) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.utils.GlowingEntities.setGlowing(GlowingEntities.java:109) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.abilities.custom.PotionAbility.lambda$givePotionEffects$1(PotionAbility.java:52) ~[Fairies-1.0.jar:?]
        at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
        at me.dave.fairies.abilities.custom.PotionAbility.lambda$givePotionEffects$2(PotionAbility.java:49) ~[Fairies-1.0.jar:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at me.dave.fairies.abilities.custom.PotionAbility.givePotionEffects(PotionAbility.java:38) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.abilities.custom.PotionAbility.lambda$new$0(PotionAbility.java:29) ~[Fairies-1.0.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1482) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:450) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1396) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1173) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[pufferfish-1.20.1.jar:git-Pufferfish-16]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
SkytAsul commented 1 year ago

Could you try to reproduce this on a Paper server (not a Pufferfish one) please?

OakLoaf commented 1 year ago

Sure thing, I'll check that now

OakLoaf commented 1 year ago
java.util.NoSuchElementException: packet_handler
        at io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at me.dave.fairies.utils.GlowingEntities$Packets.addPacketsHandler(GlowingEntities.java:721) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.utils.GlowingEntities.setGlowing(GlowingEntities.java:158) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.utils.GlowingEntities.setGlowing(GlowingEntities.java:109) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.abilities.custom.PotionAbility.lambda$givePotionEffects$1(PotionAbility.java:52) ~[Fairies-1.0.jar:?]
        at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
        at me.dave.fairies.abilities.custom.PotionAbility.lambda$givePotionEffects$2(PotionAbility.java:49) ~[Fairies-1.0.jar:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at me.dave.fairies.abilities.custom.PotionAbility.givePotionEffects(PotionAbility.java:38) ~[Fairies-1.0.jar:?]
        at me.dave.fairies.abilities.custom.PotionAbility.lambda$new$0(PotionAbility.java:29) ~[Fairies-1.0.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.1.jar:git-Paper-83]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480) ~[paper-1.20.1.jar:git-Paper-83]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1480) ~[paper-1.20.1.jar:git-Paper-83]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[paper-1.20.1.jar:git-Paper-83]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1394) ~[paper-1.20.1.jar:git-Paper-83]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1171) ~[paper-1.20.1.jar:git-Paper-83]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-83]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
SkytAsul commented 1 year ago

I see that you are calling GlowingEntities inside of a scheduled task. Is the Player instance you are passing as the "viewer" parameter refering to an online player? (= does Player#isOnline() returns true?)

OakLoaf commented 1 year ago

Yeah it's on a development environment currently and it's just 2 of us online, both of us are online before and throughout the errors

SkytAsul commented 1 year ago

Do you have any other plugin doing packets stuff? ProtocolLib by any chance?

OakLoaf commented 1 year ago

Maybe TAB could be messing with it. I don't think ProtocolLib is affecting it, I'll do some testing tomorrow and let you know

OakLoaf commented 1 year ago

I found this earlier: https://github.com/NEZNAMY/TAB/wiki/How-to-make-TAB-compatible-with-glow-plugins

OakLoaf commented 1 year ago

Seems to be Citizens NPCs causing the error

EDIT: I just put an entity.hasMetadata("NPC") check and that sorted the issue

SkytAsul commented 1 year ago

I guess that's because you were putting all registered player entities in the "viewer" parameter of the setGlowing method. That's why I asked about this above.