Hi! So I've got a small Minecraft server running. My initial intrest in botting/npcs was to run "afk farms" on additional accounts while still playing with my main character. Initially I was running these bots using the MineFlayer API (https://github.com/PrismarineJS/mineflayer). Recently, I've decided to turn these bots more into NPCs adding chat, random behavior, scheduled actions, etc to provide some additional immersion. This has since grown into an interest in turning my server into a more RPG like experience. However, the use of MineFlayer has presented certain hurdles to clear.
1) As far as I am aware Mineflayer offers no support to run the bots/npc "server side" so to speak. I began writing my own PaperMC plugin to add this functionality, which is going fine, but I feel like I'm reinventing the wheel here and feel like my time would be better spent using a pre-built solution.
2) MineFlayer requires credentials for microsoft authentication for each bot/npc that is going to be run if the server is set to online mode. I've set my server to offline mode as a work around but I'd really rather prefer to use Microsoft's auth system and avoid any 3rd part auth plugins.
In seeking an alternative to Mineflayer I've come across Citizens, which seems to provide solutions for the problems I've outlined above. However, from what videos I've watched and the documentation I've read (I haven't read it all yet) I'm not seeing anyone using Citizens to create bot/npcs with more complex behaviors. For example my more immediate goal would be to impliment an npc/npcs that would issue quests and rewards similar to the Slayer system in OSRS. Long term (2+ years out) I am interested in developing a more fleshed out quest system with variable endings (something similar to skyrim's quest system/storytelling and "instanced" areas/dungeons/etc. Would Citizens be a good fit for filling this role as far as NPC behavior is concerned? Links to any relevant docs appreciated 🙂