Recently, a thought came into my head. "The mods we have now for NPCs are good, but they're not specifically what "I" want"
After searching mods like Custom NPCs, Humans Plus and the Mob Talk Mod, I came to the conclusion that I want to start making my own mod version (Any modder is welcome to take this idea from me. I am horrible at modding. This is up now just simply because I'm hoping a modder comes across this and decides to make this). A scripted Roleplay NPC mod. In theory, right now, I hope to get this mod to allow players to give NPCs much more options that the other mods don't provide as well as actions and addons that go well with this.
Basic structure idea
The way that I want to set it up is so that the player can make his/her own Roleplay world. With this, comes a script skeleton that they can create and customize with a range of options.
This is how I am planning on having the skeleton go
Basic Customization, choose body base (which basically would be the bodies of world mobs like villager, golem, player, slime, etc.)
Skin to choose for the player, whereas there would be a folder that players can add their own skins if they wanted
NPC Name with the option to display it or not (maybe with some color to the text too, if possible. Perhaps even gender)
Spawning, whether you want only one of them (which would be good for people of interest) or whether to spawn in the wild or specific biomes or coordinates (New villagers, monsters, guards or a Herobrine quest perhaps)
After that, comes behavior. Currently a fight-or-flight idea with idle actions as well, such as when the player is not near hostile mobs or mobs that it should be hostile to, you would be able to set it to do things like farm (just hitting wheat and storing it in a chest) wandering, sitting, standing, fishing, hunting, etc. possibly even text for it to say when the player is close enough to it like "Ugh, these days are too short..." And, with that, would come the delay between how many times the NPC says it (14 mins for every day at the same time or every 30 seconds). You also set it to what mobs or entities you want it to attack, avoid or protect. Example: Attack Zombie, Avoid Creeper, Protect <Insert mob or custom NPC here>)
Interraction, where you right click the NPC and you set them to either skip to the reaction mode, an interraction GUI specific to a job (See Jobs and Work) or a dialogue GUI process that would be similar to Mob Talk Mod. You would be able to make them say a snappy one-liner, tell a story or even start in a conversation. (Possibly also lead the dialogue GUI into the job GUI)
Reaction, where after selecting an option in dialogue, right clicking or simply going within a block range of the NPC (the block range might have some limitations to prevent annoyances) Once the action is completed, the given reaction can be quite a lot. It can attack a specific mob, mob type or the player. Defend the player, follow the player, follow a mob, lead the player, move to a specific point or a specific behavior. The reaction could also trigger a quest (See Questing)
Jobs and Work
Not only will players be able to create their own (very) custom NPCs, they'll be able to set up jobs to collect materials or kill certain mobs for an amount of pay. (pay being whatever item they want the NPC to give) Examples of work would be farmer, miner, fisher (simple, right?)
There are also jobs specific to the NPCs. I'm still trying to get all that planned out, but for now, I have merchant/trader (where unlike the current trading, you could customize the pricing and items to trade, and not just one item to buy/sell!!) Hunter, Farmer, Miner, Alchemist, Enchanter (and that's all I could really think of) Jobs like farmer would require the NPC to plant and harvest. Hunters sell/buy food, wool and mob items. Enchanters will take an item to enchant a weapon/tool that you have (provided the item isn't enchanted or can take the enchantment)
General Photoshopped GUIs
Dialogue and Questing
Now, this feature was more inspired by the Mob Talk Mod, which had a Japanese RP game style to it
I like the idea of making chat into a GUI where you'd have choices to reply to certain statements. My idea is to customize the chat so that the conversation could go however you want it to. Finishing a conversation can also result in triggering the NPC to different reaction modes. Say you can choose to compliment or insult the person. Insulting them could give a player the perfect excuse to make it attack him/her in a fit of rage, whereas complimenting them would have the NPC give the player a tool or a positive reaction. The GUI would also have an option to just show as a regular chat bubble on interaction if the player wishes too (but with less options)
It's a simple design. Similar to jobs and work. You lead an NPC to an area, kill Mobs, collect resources for someone, kill the NPC, etc. and there you go. (sorry if I'm getting a bit lazy with my explanations at this point, I'm tired)
An example would be a girl begs you to save her father, who fell into a pit of spiders. After accepting the quest, the girl would lead you to the pit. She stayed there. Player goes in, kills all spiders, leads the father out. She thanks you and he leads you to a different quest.
Currently, I'm just looking into simple modding, but I want to make this a reality. It would pull several popular mods into one and add a wider range of options.
If you can help, feel free to contact me or leave a reply. Or leave a comment if you like it, hell, even one if you want to criticize it (constructive criticism, please)