The plugin contains some bugs that I unfortunately had to fix manually. However, there is a public Github repository that makes fixing errors easier. It helped me a lot to improve the basis of my own plugins and saved me a lot of work.
I would give it 5 stars, but due to the developer's inactivity and the ongoing errors, for example with the scoreboard, this is not possible.
This plugin is amazing. Been using it for months now and it has everything that you need.
But when we update to a new version it takes months for another update to come out. Just hoping for another update to support 1.20.2+
Looks like an NPC API that im searching for a while, but there is no chance to use this API via Maven on version 2023.5/6 can you please upload this version, that it can be used because i want to create NPC's on 1.20.1
Good API, it would be cool to have the possibility to shade it in a resource to avoid having extra plugins in the server instance. Also will it have 1.20 support?
Really nice plugin, i am using it for a while, BUT the new update is buggy: if players join with 1.19.3 or 1.19.4 they get instantly disconnected. I downgraded to the previous version and everything works fine (they can join with any version without problems), but the new update is buggy (they get disconnected instantly without any errors, just connecting and then disconnected). Perhaps a fix? Thanks!
I'll be honest as much as it's possible. You've made very, very, very good job. I'm shocked that this plugin isn't premium :O
I'm trying to update server from 1.16 to 1.18 and got problem with NPCs (my old plugin used NPCLib witch doesn't support 1.18). Your plugin/api meets my expectations in 200%. After refactoring my NPC plugin with your api I can honestly admit offers much more features than previous lib and in future I'm going to try use all of them (for quests).
Of course - there was a bug with TAB but bugfix released today is brilliant.
Yes, the plugin has been updated, but there is a very annoying bug that occurs, when I restart or reload the paper server, the /npcglobal command... the npc simply loses its configuration, there is a steve without any action in its place
The plugin is really good, the onl problem I have with it is that some npcs do not register after a server restart. The folders are still there, but the npcs are not registered. My server is on the most recent paperMC version running 1.19.2. Help would be greatly appreciated!
Hi, this plugin has a very good API, but the problem is that there is only a dependency with Maven, would it be possible to add gradle? Thank you for this api :)
org.bukkit.command.CommandException: Unhandled exception executing command 'npcglobal' in plugin PlayerNPC v2022.8
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[petal-api-1.19.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[petal-api-1.19.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R1.CraftServer.dispatchCommand(CraftServer.java:942) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at org.bukkit.craftbukkit.v1_19_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264) ~[petal-1.19.2.jar:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:311) ~[?:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:295) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2390) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$21(ServerGamePacketListenerImpl.java:2344) ~[?:?]
at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1387) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1364) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1357) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1335) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1223) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:310) ~[petal-1.19.2.jar:git-petal-"eb64b15"]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "dev.sergiferry.playernpc.api.NPC$Interact$Actions$Type.equals(Object)" because "type" is null
at dev.sergiferry.playernpc.command.NPCGlobalCommand.lambda$static$111(NPCGlobalCommand.java:1612) ~[PlayerNPC.jar:?]
at dev.sergiferry.playernpc.command.NPCGlobalCommand.onExecute(NPCGlobalCommand.java:2356) ~[PlayerNPC.jar:?]
at dev.sergiferry.spigot.commands.CommandInstance.onCommand(CommandInstance.java:31) ~[PlayerNPC.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[petal-api-1.19.2-R0.1-SNAPSHOT.jar:?]
The plugin is very good and the api is easy to use. But I have a problem if I use forceupdate i get kicked from the server with the reason "The server you were previously on went down, you have been connected to a fallback server" (Sry for my bad English)
Good idea plugin, one thing you could do was, add possibility to run command with them... for example, adds a /fly.... and npc executes the command... and if it is a command that opens a GUI, it executes the command and allows you to open the GUI
you can add with /npcglobal action (id) add (right/left/both) console_perform_command/player_perform_command (command)
Version: 2022.5
Is it a bug?
TabListName cannot be modified when used as a plugin API in 2022.04 Version. If it's not a bug, it looks like you need to suggest how to use it.
Added support for 1.19 in the new update. Thanks for the review!
Version: 2022.4
Great plugin, but theres one problem for me is that I cant seem to add any commands/actions to the npc and whenever I do /npc action, it'll say that "this command is not enabled" which I do not know how to enable.
In the next updates, Global NPCs would be persistent. Nowadays, the only way to create an NPCs visible always is creating throught a plugin onEnable, or at PlayerJoinEvent in case of Personal NPCs.
Thanks for the review!
Version: 2022.2
Acabo de instalarlo y ya me ha parecido increíble, muy buen trabajo, comparado con otros plugins tiene todo lo necesario y además es muy intuitivo.
Tengo dos preguntas, puedo hacer tradeos customizados para cada npc? Puedo hacer un npc con la apariencia de un mob o animal?
En las próximas versiones habrá muchas novedades, y la de crear NPCs con apariencia de otros mobs estaba en mis planes, pero a largo plazo. Primero se hará todo lo necesario con humanos, y luego se adaptará a todo tipo de mobs.
Version: 2022.2
Excellent ! I suggest to add public getEntity() wich refer to NMS#getBukkitEntity() + getEntityId() (usefull for Packets) + event based on packet to know when the NPC appear visible for a player.
This plugin does not works with GlowAPI, I think i will create my own with ProtocolLib :/ I hope this plugin will be maintened in time :)
Yeah I would like to know If there's any plans for making It an official smp plugin to use In regular user servers? Put and use since this Is kind of misrepresented and I was originaly getting this as a regular plugin but the Idea Is very nice and we as a community would really appreciate a good stable and easy to use NPC plugin. ty
Yeah, in the next versions is planned to add the option to create NPCs visible to all players, through commands, and will be stored on a file.
The original purpose of this was an API for developers, but i know that a lot of people demand a plugin like this.
Version: 2021.4
This is a pretty good API for player NPCs, will be using it later on.
I'd like to mention that you should remove the "npc.setCustomTabListName(String, boolean)" line from step 2 of the API spoiler, as that will call the "getReplacedCustomName" method which will try to call the "getProfile" method from the "entityPlayer" variable, but it will result in a NullPointerException error as the variable is null until "npc.create()" is called, which is in step 3.