juliarn / npc-lib Goto Github PK
View Code? Open in Web Editor NEWAsynchronous, high-performance Minecraft NPC library for 1.8-1.21 servers.
License: MIT License
Asynchronous, high-performance Minecraft NPC library for 1.8-1.21 servers.
License: MIT License
While I haven't tested and this might work perfectly well on 1.19.3, it did bring some great changes. Minecraft no longer requires NPC players to show up in tab anymore. Could this plugin support that functionality?
Does this library support multiple lines on npcs or do I have to do that myself?
Feature:
Every player see's his own skin as npc
those exceptions get thrown randomly on a newly loaded server:
java.lang.NullPointerException at net.minecraft.server.v1_16_R3.PacketDataSerializer.a(PacketDataSerializer.java:164) at net.minecraft.server.v1_16_R3.PacketPlayOutPlayerInfo.b(SourceFile:97) at net.minecraft.server.v1_16_R3.PacketEncoder.encode(PacketEncoder.java:42) at net.minecraft.server.v1_16_R3.PacketEncoder.encode(PacketEncoder.java:12) at jdk.internal.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.comphenix.protocol.injector.netty.ChannelInjector.encode(ChannelInjector.java:477) at com.comphenix.protocol.injector.netty.ChannelInjector.access$100(ChannelInjector.java:64) at com.comphenix.protocol.injector.netty.ChannelInjector$1.encode(ChannelInjector.java:247) at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) at com.comphenix.protocol.injector.netty.ChannelInjector$1.write(ChannelInjector.java:253) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) at protocolsupport.utils.netty.MessageToMessageEncoder.write(MessageToMessageEncoder.java:57) at protocolsupport.utils.netty.MessageToMessageCodec.write(MessageToMessageCodec.java:61) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1071) at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:300) at com.comphenix.protocol.injector.netty.ChannelProxy.writeAndFlush(ChannelProxy.java:327) at net.minecraft.server.v1_16_R3.NetworkManager.lambda$b$6(NetworkManager.java:300) at com.comphenix.protocol.injector.netty.ChannelInjector$3.lambda$onMessageScheduled$1(ChannelInjector.java:325) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) at java.base/java.lang.Thread.run(Thread.java:834)
and ::
java.lang.IllegalArgumentException: cannot send packets to a closed channel at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[paper.jar:git-Paper-259] at com.comphenix.protocol.injector.netty.ChannelInjector.invokeSendPacket(ChannelInjector.java:687) ~[?:?] at com.comphenix.protocol.injector.netty.ChannelInjector.sendServerPacket(ChannelInjector.java:679) ~[?:?] at com.comphenix.protocol.injector.netty.ProtocolInjector$4.sendServerPacket(ProtocolInjector.java:399) ~[?:?] at com.comphenix.protocol.injector.PacketFilterManager.sendServerPacket(PacketFilterManager.java:733) ~[?:?] at com.comphenix.protocol.injector.PacketFilterManager.sendServerPacket(PacketFilterManager.java:687) ~[?:?] at com.github.juliarn.npc.modifier.NPCModifier.send(NPCModifier.java:73) ~[?:?] at com.github.juliarn.npc.NPC.show(NPC.java:51) ~[?:?] at com.github.juliarn.npc.NPCPool.lambda$npcTick$0(NPCPool.java:117) ~[?:?] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99) ~[paper.jar:git-Paper-259] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[paper.jar:git-Paper-259] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper.jar:git-Paper-259] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:834) [?:?]
I'm trying to enable skin layers, but it doesn't work.
I don't understand why, there is no console error.
I'm using 1.12.2.
This is my code for creating an NPC:
NPC npc = NPC.builder()
.profile(this.createProfile(name, skin))
.location(location)
.imitatePlayer(false)
.lookAtPlayer(false)
.build(this.npcPool);
npc.metadata().queue(MetadataModifier.EntityMetadata.SKIN_LAYERS, true).send();
Is there something I'm doing wrong? Or is this just supposed to work.
Version: 2.6-RELEASE
Every Time a player logs on this Exception gets thrown.
[15:36:38 WARN]: java.lang.NoSuchMethodException: java.util.Collections$SingletonList.()
[15:36:38 WARN]: at java.base/java.lang.Class.getConstructor0(Class.java:3585)
[15:36:38 WARN]: at java.base/java.lang.Class.getConstructor(Class.java:2271)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372)
[15:36:38 WARN]: at ProtocolLib.jar//com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345)
[15:36:38 WARN]: at wirtschaft-1.4-all.jar//com.github.juliarn.npc.modifier.EquipmentModifier.lambda$queue$0(EquipmentModifier.java:104)
[15:36:38 WARN]: at wirtschaft-1.4-all.jar//com.github.juliarn.npc.modifier.NPCModifier.queueInstantly(NPCModifier.java:72)
[15:36:38 WARN]: at wirtschaft-1.4-all.jar//com.github.juliarn.npc.modifier.EquipmentModifier.queue(EquipmentModifier.java:82)
[15:36:38 WARN]: at wirtschaft-1.4-all.jar//com.github.juliarn.npc.modifier.EquipmentModifier.queue(EquipmentModifier.java:122)
[15:36:38 WARN]: at wirtschaft-1.4-all.jar//net.weareproud.wirtschaft.npc.NPCManager.lambda$createSpawnNPC$0(NPCManager.java:55)
[15:36:38 WARN]: at wirtschaft-1.4-all.jar//com.github.juliarn.npc.NPC.lambda$show$1(NPC.java:123)
[15:36:38 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101)
[15:36:38 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483)
[15:36:38 WARN]: at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1591)
[15:36:38 WARN]: at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:528)
[15:36:38 WARN]: at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1507)
[15:36:38 WARN]: at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1300)
[15:36:38 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:322)
[15:36:38 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
The Readme is missing. Its not clear how to use the NPCLib correctly. Please fix.
Hey, so just doing a plugin with this library, all worked great, NPC spawned with it's gameprofile properties, but I just got this weird warning (not ERR), that says something about show stuff? I'm using the development release
Error:
[03:40:42 WARN]: java.lang.NoSuchMethodException: java.util.Collections$SingletonList.<init>() [03:40:42 WARN]: at java.base/java.lang.Class.getConstructor0(Class.java:3517) [03:40:42 WARN]: at java.base/java.lang.Class.getConstructor(Class.java:2238) [03:40:42 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277) [03:40:42 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88) [03:40:42 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367) [03:40:42 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359) [03:40:42 WARN]: at com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48) [03:40:42 WARN]: at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372) [03:40:42 WARN]: at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345) [03:40:42 WARN]: at com.dolphln.npc.modifier.VisibilityModifier.queuePlayerListChange(VisibilityModifier.java:59) [03:40:42 WARN]: at com.dolphln.npc.NPC.show(NPC.java:95) [03:40:42 WARN]: at com.dolphln.npc.NPCPool.lambda$npcTick$1(NPCPool.java:208) [03:40:42 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) [03:40:42 WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [03:40:42 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [03:40:42 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [03:40:42 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [03:40:42 WARN]: at java.base/java.lang.Thread.run(Thread.java:831)
I'm gonna be honest, I didn't really see if it has something to do with my plugin, but I thought I better post it here.
Edit: Also using purpur 1.17.1> version [03:46:13 INFO]: Checking version, please wait... [03:46:14 INFO]: This server is running Purpur version git-Purpur-1287 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 01b35a2 on ver/1.17.1) [03:46:14 INFO]: You are running the latest version [03:46:14 INFO]: Previous version: git-Purpur-1206 (MC: 1.17)
Skin layers are not rendered
npc.metadata().queue(MetadataModifier.EntityMetadata.SKIN_LAYERS, true).send();
I suggest switching from ProtocolLib to PacketEvents 2.0.
It's faster, works with 1.7-1.18, much easier to use and can be shaded instead of requiring ProtocolLib installed on the server.
This was already requested in #46 however, this might currently be possible or at least, citizens seem to be able to achieve it.
There, it works by using "/npc skin --url [image]" command, therefore I assume this should also be doable here. I would appreciate it. Can you please take a look at it?
Happens when I'm near a NPC that has their name set to that of an online player
My currently Protocollib version is: 4.8.0
16:09:53 WARN: at net.minecraft.server.v1_16_R3.PacketDataSerializer.a(PacketDataSerializer.java:390)
16:09:53 WARN: at net.minecraft.server.v1_16_R3.PacketDataSerializer.a(PacketDataSerializer.java:385)
16:09:53 WARN: at net.minecraft.server.v1_16_R3.PacketPlayOutPlayerInfo.b(SourceFile:104)
16:09:53 WARN: at net.minecraft.server.v1_16_R3.PacketEncoder.encode(PacketEncoder.java:46)
16:09:53 WARN: at net.minecraft.server.v1_16_R3.PacketEncoder.encode(PacketEncoder.java:15)
16:09:53 WARN: at jdk.internal.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
16:09:53 WARN: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:09:53 WARN: at java.base/java.lang.reflect.Method.invoke(Method.java:564)
16:09:53 WARN: at com.viaversion.viaversion.util.PipelineUtil.callEncode(PipelineUtil.java:93)
16:09:53 WARN: at com.viaversion.viaversion.bukkit.handlers.BukkitEncodeHandler.encode(BukkitEncodeHandler.java:71)
16:09:53 WARN: at jdk.internal.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
16:09:53 WARN: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:09:53 WARN: at java.base/java.lang.reflect.Method.invoke(Method.java:564)
16:09:53 WARN: at com.comphenix.protocol.injector.netty.ChannelInjector.encode(ChannelInjector.java:531)
16:09:53 WARN: at com.comphenix.protocol.injector.netty.ChannelInjector.access$100(ChannelInjector.java:72)
16:09:53 WARN: at com.comphenix.protocol.injector.netty.ChannelInjector$1.encode(ChannelInjector.java:271)
16:09:53 WARN: at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)
16:09:53 WARN: at com.comphenix.protocol.injector.netty.ChannelInjector$1.write(ChannelInjector.java:277)
16:09:53 WARN: at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
16:09:53 WARN: at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709)
16:09:53 WARN: at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792)
16:09:53 WARN: at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702)
16:09:53 WARN: at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:697)
16:09:53 WARN: at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:1010)
16:09:53 WARN: at io.netty.channel.AbstractChannel.write(AbstractChannel.java:284)
16:09:53 WARN: at com.comphenix.protocol.injector.netty.ChannelProxy.write(ChannelProxy.java:312)
16:09:53 WARN: at net.minecraft.server.v1_16_R3.NetworkManager.lambda$writePacket$11(NetworkManager.java:485)
16:09:53 WARN: at com.comphenix.protocol.injector.netty.ChannelInjector$3.lambda$onMessageScheduled$1(ChannelInjector.java:354)
16:09:53 WARN: at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
16:09:53 WARN: at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
16:09:53 WARN: at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
16:09:53 WARN: at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
16:09:53 WARN: at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
16:09:53 WARN: at java.base/java.lang.Thread.run(Thread.java:832)
[16:09:53 INFO]: the60th lost connection: Internal Exception: io.netty.handler.codec.EncoderException: java.lang.NullPointerExcept
Hi, is there any solution to nullify several times event popup at one click?
When spawning a NPC sometimes it spawns as default steve skin, if you move out of spawn range and back in, the skin then shows. I've tried setting the tab list remove to a high number and it still happens. Is there a fix for this?
[12.09 12:47:15.822] INFO: [Skyfall-1] [12:47:15 ERROR]: Error occurred while enabling 4Bedwars v1.0 (Is it up to date?)
[12.09 12:47:15.822] INFO: [Skyfall-1] java.lang.NoClassDefFoundError: com/github/juliarn/npc/NPCPool
[12.09 12:47:15.822] INFO: [Skyfall-1] at de.binda.Bedwars.Npcs.ShopNpc.(ShopNpc.java:32) ~[4Bedwars.jar:?]
[12.09 12:47:15.822] INFO: [Skyfall-1] at de.binda.Bedwars.Bedwars.onEnable(Bedwars.java:74) ~[4Bedwars.jar:?]
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugin(CraftServer.java:535) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugins(CraftServer.java:449) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at net.minecraft.server.MinecraftServer.loadWorld(MinecraftServer.java:725) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at net.minecraft.server.dedicated.DedicatedServer.init(DedicatedServer.java:306) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1212) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at java.lang.Thread.run(Thread.java:831) [?:?]
[12.09 12:47:15.822] INFO: [Skyfall-1] Caused by: java.lang.ClassNotFoundException: com.github.juliarn.npc.NPCPool
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:146) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[paper.jar:git-Paper-249]
[12.09 12:47:15.822] INFO: [Skyfall-1] at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
[12.09 12:47:15.822] INFO: [Skyfall-1] ... 12 more
my console gets spammed with this error
java.lang.NoClassDefFoundError: com/github/juliarn/npc/event/PlayerNPCHideEvent$Reason
at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:215) ~[?:?]
at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:82) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3452-Spigot-ffceeae-808cb7c]
at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) [spigot-1.18.2-R0.1-SNAPSHOT.jar:3452-Spigot-ffceeae-808cb7c]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ClassNotFoundException: com.github.juliarn.npc.event.PlayerNPCHideEvent$Reason
... 6 more
[15:06:30] [Craft Scheduler Thread - 0/WARN]: [Magic] Plugin Magic v1.0 generated an exception while executing task 5
java.lang.NoClassDefFoundError: com/github/juliarn/npc/event/PlayerNPCHideEvent$Reason
at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:215) ~[?:?]
at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:82) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3452-Spigot-ffceeae-808cb7c]
at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) [spigot-1.18.2-R0.1-SNAPSHOT.jar:3452-Spigot-ffceeae-808cb7c]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ClassNotFoundException: com.github.juliarn.npc.event.PlayerNPCHideEvent$Reason
Also the interact event does not work after rejoin
Hello,
how can i make my npc sleep on the floor?
(1.18.1)
(Moved from CloudNetService/CloudNet#307)
Description of the bug:
In Minecraft, players are not being spawned when they are not in the tablist. When a player moves in, directly out and again into the range where NPCs will be spawned, they will not be spawned because they are not added to the tablist.
Expected behavior:
Before addinf the players twice to the tablist and removing them too early, they should not be added twice and the timer for removal should be restarted.
[19:42:37 WARN]: Exception in thread "Craft Scheduler Thread - 40"
[Lobby-1][19:42:37 WARN]: org.apache.commons.lang.UnhandledException: Plugin Lobby v1.0.6 generated an exception while executing task 8
[Lobby-1] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
[Lobby-1] at org.github.paperspigot.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:23)
[Lobby-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[Lobby-1] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[Lobby-1] at java.lang.Thread.run(Thread.java:748)
[Lobby-1]Caused by: java.lang.LinkageError: com/comphenix/protocol/wrappers/EnumWrappers$NativeGameMode
[Lobby-1] at com.github.juliarn.npc.modifier.VisibilityModifier.queuePlayerListChange(VisibilityModifier.java:55)
[Lobby-1] at com.github.juliarn.npc.NPC.hide(NPC.java:114)
[Lobby-1] at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:171)
[Lobby-1] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
[Lobby-1] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[Lobby-1] ... 4 more
When setting the yaw of an npc while creating it using NPC.builder().location(loc)
, the yaw is not correct.
Updating it via npc.rotation.queueRotation(yaw, pitch)
works just fine.
[18:45:01 WARN]: Exception in thread "Craft Scheduler Thread - 2"
[18:45:01 WARN]: org.apache.commons.lang.UnhandledException: Plugin AspectEconomy v1.0.0-SNAPSHOT generated an exception while executing task 10
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.LinkageError: loader org.bukkit.plugin.java.PluginClassLoader @2dc96b52 attempted duplicate class definition for com.comphenix.protocol.events.PacketContainer. (com.comphenix.protocol.events.PacketContainer is in unnamed module of loader org.bukkit.plugin.java.PluginClassLoader @2dc96b52, parent loader 'app')
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:103)
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:193)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:99)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:88)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at com.github.juliarn.npc.modifier.VisibilityModifier.queuePlayerListChange(VisibilityModifier.java:53)
at com.github.juliarn.npc.NPC.show(NPC.java:119)
at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:217)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more
Every time I try to spawn a NPC, I get this error.
Add a Method to hide a specific NPC from specific Players.
In 1.16, the Entity Equipment Packet changed slightly. The packet does now contain a List of Pair<ItemSlot, ItemStack> instead of just an ItemSlot and an ItemStack.
ProtocolLib doesn't have a type for this yet, so propably have to wait for ProtocolLib to add this.
[16:37:06] [Server thread/ERROR]: Could not pass event PlayerToggleSneakEvent to BuildFFA v1.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInEntityAction.a(SourceFile:43) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInEntityAction.a(SourceFile:9) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-db6de12-18fbb24]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_292]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_292]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.github.juliarn.npc.modifier.MetadataModifier$EntityMetadata
at com.github.juliarn.npc.NPCPool.lambda$handleSneak$11(NPCPool.java:296) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:1.8.0_292]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_292]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_292]
at java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3566) ~[?:1.8.0_292]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_292]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_292]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_292]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_292]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_292]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_292]
at com.github.juliarn.npc.NPCPool.handleSneak(NPCPool.java:296) ~[?:?]
at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_292]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
... 15 more
Hi, i try to use ur library NPC-Lib
and private
final NPCPool npcPool;` - Cannot resolve symbol.
How i add ur library? - I downloaded sourcecode and select Project Structure >> Libraries >> Add >> Java >> Select this .rar file
Can u help me plz
Hey,
is there a way to get the uuid of the npc?
~ David
Hey, a quick question, is there a way to get the EntityPlayer of an NPC, so you can add him to a Scoreboard Team?
How do I get the NPC's to take actual damage? Or atleast get the amount of damage it would've taken?
Hey, I need help creating an NPC. I implemented the API. I don't see an example on the
README.md page just that you should create an instance.
In addition, there is not even a list of available events. I would also like to see
examples of how to create an NPC, for example
my onDisable actually looks like this:
npcPool.npCs.forEach { npcPool.removeNPC(it.entityId) }
1.NPCs do not disappear
2. PlayerNPCHideEvent is called and throws an error because the plugin is already disabled
Hey so i am using the lib on 1.18.2 (nice lib btw)
and i enable skin layers in the show event
any idea why?
Can i enable the outer layer of my npc? (PacketPlayOutEntityMetadata)
Hi, I had in mind to add the availability of having an NPC name with more lines.
So I initially forked the project and started working on it. After that I realized that maybe it was better to have it in a different repository so that I can use it myself as a library in my plugins.
So I made Hologram-Lib, a library that allows you to create holograms (even with items and animations) with packets using ProtocolLib.
If interested I can do a PR to implement my library to create the npcs.
Hey,
is support for 1.17 planned?
Getting this error:
java.lang.NoSuchMethodException: java.util.Collections$SingletonList.<init>()
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.getConstructor(Class.java:1825)
at com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277)
at com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88)
at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367)
at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359)
at com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48)
at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372)
at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345)
at com.github.juliarn.npc.modifier.VisibilityModifier.queuePlayerListChange(VisibilityModifier.java:60)
at com.github.juliarn.npc.NPC.show(NPC.java:86)
at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:173)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:64)
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
at org.github.paperspigot.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:23)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
I'm on 1.8.8. The NPC is visible to the client.
Hey, after restarting the server and the player join this server comes following error.
IMPORTANT: The player must be in the near from npc. So that the npc show directly in the tab.
This only happens with a restart
My currently Protocollib version is: 4.7.0. https://ci.dmulloy2.net/job/ProtocolLib/533/
The currently server version is: git-PaperSpigot-445 (MC: 1.8.8)
java.lang.NoSuchMethodException: java.util.Collections$SingletonList.<init>()
[21:26:21 WARN]: at java.lang.Class.getConstructor0(Class.java:3082)
[21:26:21 WARN]: at java.lang.Class.getConstructor(Class.java:1825)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48)
[21:26:21 WARN]: at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372)
[21:26:21 WARN]: at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345)
[21:26:21 WARN]: at com.github.juliarn.npc.modifier.VisibilityModifier.queuePlayerListChange(VisibilityModifier.java:60)
[21:26:21 WARN]: at com.github.juliarn.npc.NPC.show(NPC.java:86)
[21:26:21 WARN]: at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:173)
[21:26:21 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
[21:26:21 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[21:26:21 WARN]: at org.github.paperspigot.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:23)
[21:26:21 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[21:26:21 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[21:26:21 WARN]: at java.lang.Thread.run(Thread.java:748)
[21:26:21 WARN]: java.lang.NoSuchMethodException: java.util.Collections$SingletonList.<init>()
[21:26:21 WARN]: at java.lang.Class.getConstructor0(Class.java:3082)
[21:26:21 WARN]: at java.lang.Class.getConstructor(Class.java:1825)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359)
[21:26:21 WARN]: at com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48)
[21:26:21 WARN]: at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372)
[21:26:21 WARN]: at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345)
[21:26:21 ERROR]: java.lang.NullPointerException
[21:26:21 WARN]: at com.github.juliarn.npc.modifier.VisibilityModifier.queuePlayerListChange(VisibilityModifier.java:60)
[21:26:21 WARN]: at com.github.juliarn.npc.NPC.show(NPC.java:86)
[21:26:21 WARN]: at com.github.juliarn.npc.NPCPool.lambda$npcTick$1(NPCPool.java:173)
[21:26:21 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
[21:26:21 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[21:26:21 WARN]: at org.github.paperspigot.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:23)
[21:26:21 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[21:26:21 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[21:26:21 WARN]: at java.lang.Thread.run(Thread.java:748
Hi everyone, I'm having the following error when trying to change the equipment of an NPC
`[WARNING] .... java.lang.NoSuchMethodException: java.util.Collections$SingletonList.()
[WARNING] .... at java.base/java.lang.Class.newNoSuchMethodException(Unknown Source)
[WARNING] .... at java.base/java.lang.Class.getConstructor(Unknown Source)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372)
[WARNING] .... at ProtocolLib.jar//com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345)
[WARNING] .... at Roulette-1.0-SNAPSHOT.jar//me.matsubara.roulette.util.npc.modifier.EquipmentModifier.queue(EquipmentModifier.java:93)
[WARNING] .... at Roulette-1.0-SNAPSHOT.jar//me.matsubara.roulette.game.Game$1.handleSpawn(Game.java:126)
[WARNING] .... at Roulette-1.0-SNAPSHOT.jar//me.matsubara.roulette.util.npc.NPC.lambda$show$1(NPC.java:99)
[WARNING] .... at Roulette-1.0-SNAPSHOT.jar//me.matsubara.roulette.util.npc.NPC$$Lambda$5393/0x00000000ed443a50.run(Unknown Source)
[WARNING] .... at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101)
[WARNING] .... at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483)
[WARNING] .... at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1564)
[WARNING] .... at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:490)
[WARNING] .... at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1480)
[WARNING] .... at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1279)
[WARNING] .... at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[WARNING] .... at net.minecraft.server.MinecraftServer$$Lambda$3659/0x00000000724037d8.run(Unknown Source)
[WARNING] .... at java.base/java.lang.Thread.run(Unknown Source)`
this is how I create the NPC
`this.npc = NPC.builder()
.profile(new Profile(
UUID.randomUUID(),
npcName,
Collections.singletonList(new Profile.Property(
"textures",
"ewogICJ0aW1lc3RhbXAiIDogMTU5NDA2NDIyNDkzOCwKICAicHJvZmlsZUlkIiA6ICJhMjk1ODZmYmU1ZDk0Nzk2OWZjOGQ4ZGE0NzlhNDNlZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJWaWVydGVsdG9hc3RpaWUiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDcyOGJkYWI5ZDkwMTI0YmQxMWY4NmU1OTM3MzJkMmRjNWQ3NzY3YTYzZGE4MGQ3M2ZkYmM0NDU2NTY2YzcwMSIKICAgIH0KICB9Cn0=",
"pMYGvxZzmEApm46xoRqwc8Ftd0LRzzjyMwCiuxhx5avmKVbZUDsDKoB/QPpwz8gof5kpR6m3aboy6LN17XU4JJ3IHp776dkBfNkPieVs+pyNhgXhMaqLmxGk1QlmdLI/pDSfTELoFpF/73LNdFOnGPwmuCSmn7Bt1OQtNWsoYtWHbpm5CkSo89ssRbZSYmn4VJVJPFfdHre3kJyRqIpSE6BIrCxMrJdyMeneK7KmF4ykZ6aZNle8x86X3gImc81EYbSm/8Ax+0vsvLYDRFKbUUg0tjaAHONaYqfrnyJTxxcCWeBI9yyeDNuGwi3cCdKTb73OVhC0HG5Vw0VEnX8Ti51dJASeAFQaLTOGAqaiwseX+wEbFbDlU4gzaFfe8AvVZcegksnZlY7wMzr/KkTetSjz/8eArfj4A8bgmtyEOUc1YxGqym35GsqZSQkqxXtgoX/0QRMNwEHEmurruSkR5Tn5WwbN6HoIT3QASokvvJO73D9Tn7sAuSitlU97lnB4fQTQj/3/ePbQ6zrkp5uGhUDyauY9aCCd5ySJ/7KpLd1lEBT+WrsriLezZ1xG37M82dOALuacLzQPJkz4+5hZbIj2e5D8ALp65AtFxJju2Zfk5gXmv2kmgeF8fAw11hHHok+gfo3eesbF1i0SvKaEGDcf+7Nxs3eU88aSmfoh77I="))))
.location(npcLoc)
.lookAtPlayer(false)
.imitatePlayer(false)
.spawnCustomizer(new SpawnCustomizer() {
@OverRide
public void handleSpawn(@NotNull NPC npc, @NotNull Player player) {
npc.rotation().queueRotate(npcLoc.getYaw(), npcLoc.getPitch()).send(player);
// Set item (ball) in main hand.
if (!state.isSpinning() && !state.isEnding()) {
npc.equipment().queue(EnumWrappers.ItemSlot.MAINHAND, XMaterial.SNOWBALL.parseItem()).send(player); <----- ERROR
}
// Show skin layers.
npc.metadata().queue(MetadataModifier.EntityMetadata.SKIN_LAYERS, true).send(player);
}
})
.build(plugin.getNPCPool());`
System Info: Java 16 (Eclipse OpenJ9 VM openj9-0.26.0) Host: Linux 4.15.0-159-generic (amd64)
This server is running Paper version git-Paper-358 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 3f043f7)
I also tried in my plugin onEnable() method creating a singleton list with Collections#singletonList("TEST") and I have not problems, only happens when trying to change the equipment.
This also happens when using spigot btw.
PD: Sorry, I don't know how to put the code in blocks :/
Hi! Basically, I'm trying to change the name of a NPC, like this:
String villagerName = PluginUtils.getCustomData(container, EntityReplacer.NAME_KEY, String.class); npc.getProfile().setName(villagerName + " (Following)"); npc.visibility().queuePlayerListChange(VisibilityModifier.PlayerInfoAction.UPDATE_DISPLAY_NAME).send();
But nothing happens (no error in console), the name is the same as before, am I doing something wrong?
Also, I would like to change the texture of the NPC (setting its texture value and signature) without having to create a new NPC, how would I do that?
Thanks :)
Hey, I encountered an issue. But I'm not sure if I'm just using the Lib wrongly or if this is an actual bug. When I spawn the NPC in my onEnable() method like this (https://gist.github.com/BrokenStudio/e349af11259a942e92e2d64139e15d8f). The NPC does not have a skin set when the player joins.
EDIT: My bad, used the Lib wrong
Is there any way to update the hologram above the NPC?
Feature:
Add feature to create npc without nickname
When NPC-Lib v2 is going to be released?
[05:17:54] [Craft Scheduler Thread - 30 - SimpNPC/WARN]: [SimpNPC] Plugin SimpNPC v1.0 generated an exception while executing task 9414
java.lang.NullPointerException: Cannot invoke "io.netty.channel.Channel.pipeline()" because "channel" is null
at com.comphenix.protocol.injector.netty.ChannelInjector.findChannelHandler(ChannelInjector.java:932) ~[ProtocolLib (4).jar:?]
at com.comphenix.protocol.injector.netty.InjectionFactory.fromPlayer(InjectionFactory.java:93) ~[ProtocolLib (4).jar:?]
at com.comphenix.protocol.injector.netty.ProtocolInjector$4.sendServerPacket(ProtocolInjector.java:411) ~[ProtocolLib (4).jar:?]
at com.comphenix.protocol.injector.PacketFilterManager.sendServerPacket(PacketFilterManager.java:733) ~[ProtocolLib (4).jar:?]
at com.comphenix.protocol.injector.PacketFilterManager.sendServerPacket(PacketFilterManager.java:687) ~[ProtocolLib (4).jar:?]
at com.github.juliarn.npc.modifier.NPCModifier.lambda$1(NPCModifier.java:90) ~[SimpNPC-1.0.jar:?]
at java.util.Arrays$ArrayList.forEach(Arrays.java:4204) ~[?:?]
at com.github.juliarn.npc.modifier.NPCModifier.send(NPCModifier.java:88) ~[SimpNPC-1.0.jar:?]
at com.github.juliarn.npc.modifier.NPCModifier.send(NPCModifier.java:104) ~[SimpNPC-1.0.jar:?]
at com.github.juliarn.npc.NPC.hide(NPC.java:192) ~[SimpNPC-1.0.jar:?]
at com.github.juliarn.npc.NPCPool.lambda$1(NPCPool.java:211) ~[SimpNPC-1.0.jar:?]
at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[simpmcpaper-1.18.1.jar:git-SimpMCPaper-"add22dc"]
at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[simpmcpaper-1.18.1.jar:git-SimpMCPaper-"add22dc"]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[simpmcpaper-1.18.1.jar:git-SimpMCPaper-"add22dc"]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[19:56:55 ERROR]: Village > [19:56:55 ERROR] [Minecraft]: [VillageCore] Unhandled exception occured in onPacketReceiving(PacketEvent) for VillageCore
[19:56:55 ERROR]: Village > java.lang.NoClassDefFoundError: Could not initialize class com.comphenix.protocol.wrappers.WrappedEnumEntityUseAction
[19:56:55 ERROR]: Village > at com.comphenix.protocol.events.AbstractStructure.getEnumEntityUseActions(AbstractStructure.java:614) ~[ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.github.juliarn.npc.NPCPool$1.onPacketReceiving(NPCPool.java:161) ~[VillageCore-1.0-SNAPSHOT-shaded.jar:?]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.SortedPacketListenerList.invokeReceivingListener(SortedPacketListenerList.java:114) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketRecieving(SortedPacketListenerList.java:67) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:537) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.PacketFilterManager.invokePacketRecieving(PacketFilterManager.java:509) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.netty.ProtocolInjector.packetReceived(ProtocolInjector.java:360) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketReceiving(ProtocolInjector.java:325) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.netty.ChannelInjector.decode(ChannelInjector.java:600) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:507) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:446) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at com.comphenix.protocol.injector.netty.ChannelInjector$2.channelRead(ChannelInjector.java:292) [ProtocolLib.jar:4.8.0]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.68.Final.jar%2331!/:4.1.68.Final]
[19:56:55 ERROR]: Village > at java.lang.Thread.run(Thread.java:833) [?:?]
[19:56:55 ERROR]: Village > [19:56:55 ERROR] [Minecraft]: Parameters:
[19:56:55 ERROR]: Village > net.minecraft.network.protocol.game.ServerboundInteractPacket@7daec04e[
[19:56:55 ERROR]: Village > f_134030_=612957245
[19:56:55 ERROR]: Village > f_134031_=net.minecraft.network.protocol.game.ServerboundInteractPacket$InteractionAction@25ca88ec
[19:56:55 ERROR]: Village > f_134034_=false
[19:56:55 ERROR]: Village > ]
[19:56:55 ERROR]: Village >
(Yes, we have ProtocolLib installed, and dependency added in both plugin.yml and pom.xml)
Despite setting the NPC location to Yaw and Pitch, the NPC looks at Yaw 0 and Pitch 0
Hi, i try to use ur library NPC-Lib
and private final NPCPool npcPool;` - Cannot resolve symbol.
How i add ur library? - I downloaded sourcecode and select Project Structure >> Libraries >> Add >> Java >> Select this .rar file
Can u help me plz
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.