UsefulVillagers
RIP
Unfortunately, yeah, this plugin is dead. I've repeatedly said that I've no time left for it. The source are available but nobody's dare to maintain it, only complain that it doesn't evolve. Sorry internet, blame yourself for that. There's no charge for this plugin, I've never asked for donations. Now if you want to make it live (if it's worth it as "many other plugins are better" as i've read sometimes), use your brain, use your skills, use your own time. By now, I'm done.
Summary
This plug-in aims at adding some purpose to the villagers. Instead of walking around, villagers can also performs tasks depending on their profession. As they walk around, they will grow food, cut trees, gather sugar cane to make books, get wool, use furnaces, mine, etc.
Changelog for 0.4.0
- Added a configuration key in 'config.yml' that avoid 'not useful villagers' messages.
- Blacksmith now also cook pork (how strange it is ...).
- Various internal technical improvement.
Quote from Some Random GameDev:There's now a dependency to Gson. You'll have to download the third library jar, store it somewhere and update the -Djava.ext.dirs parameter.
Usage
First, a complete manual is available here.
Villagers professions can be set by right-clicking with the appropriate items:
- Wheat : Transforms a villager into a 'farmer'. A farmer will harvest wheat, melon and pumpkin, sugar cane.
- Book : Transforms a villager into a 'librarian'. Librarians take sugar cane from chest, use nearby workbench to produce books and put back produced books in the next encountered chest. Librarian can also 'study' weird items, such has glowstone dust, blaze powder, ghast tears, and give back experience points to players (study time depends on the given item).
- Iron ingot : Transforms a villager into a 'blacksmith'. Blacksmith with furnaces and chests in there surrounding will automatically transfer goods from furnace to chest and start smelting job from chest content. If interacted with a gold pickaxe, the blacksmith gain (or loose) mining ability (see manual for full description/usage).
- Leather : Transforms a villager into a simple 'butcher'. Butcher, for now, uses shear to collect wool from sheep.
- Glass Bottle : Transforms a villager into a 'priest'. Priest heal and defend villager (and player) with spells.
A villager can be provided with items by right-clicking on it.
- Give an hoe to a farmer and it will be able to transform dirt/grass to soil and plant seeds.
- Give seeds to a farmer to allow him planting seed.
- Give an axe to a farmer and it will be able to cut tree (if the tree is marked for cutting).
- Give sugar cane to librarian and it will craft books as soon as it cans.
- Give interesting stuff to librarian and it will study them and give back experience to you after time.
- Give shears to butcher and it will collect wool from sheep.
- Give stone or iron pickaxes to blacksmith and if it has a mining ability, it will mine below iron blocks.
- Give glowstone dust to priest and it will heal surrounding players and villagers.
- Give blaze rod to priest and it will set nearby monsters on fire (creepers/spider/skeleton/zombie).
(Extra : Give torches to a golem and it will place them in encountered dark places).
When a chest is encountered, the villagers will put their products in it (wheat, melon, pumpkin, wood logs, sugar cane, books, wool).
Disclaimer
It is not a 'active AI'. It is not experimental and rely totally on bukkit API. Hence, this plugin doesn't override villager behaviour but add some features to it. The villagers will continue to move and act as they're used to. But, periodically, player-activated villagers will modify their environment accordingly to their profession.
Roadmap
- Add priest brewing capabilities.
- Add more flexible serialization (XML or other) to allow easy migration without blasting all !
- Add blacksmith charcoal production management.
- Add butcher management (animals breeding and processing).
- Add commands for live administration.
Any suggestions are welcome.
Rejected Suggestions
First of all, keep in mind that I can't alter villagers movement.
- Fishing : Heart breaking, but it's not possible ...
- Villager self-defense : out of my range (only passive area of effet enabled via priest).
- Structure building
Commands
None for the moment. See Roadmap.
Configuration and Permissions
Again, a complete manual is available here with details concerning configuration and permissions. Check this out and read it !
Requests
Don't hesitate to report any problems or make any suggestions here.
And done ! Very small update. Thank you softvelvet and GUIpsp for pointing out the spamming issue location (even if you've not provided a patch, but that's ok).
@softvelvet
Thank you and GUIpsp for that ! I'll check the code and integrate it.
Don't hesitate to make a pull request on github.
Well, my friend GUIpsp did take a quick look at it again while on his break and fixed it so that it does not spam at all anymore by changing a few things in the WorkerHandler.class.
Here is the non-spammy version along with the config.yml already populated in the folder.
If you don't want me to have this posted here, I understand @SomeRandomGameDev , just ask me to remove it and I absolutely will.
@softvelvet
Here is an example : https://github.com/SomeRandomGameDev/bukkit-workers/blob/master/Workers/config.yml
@1oglop1
Did you assign them with tasks ? I've heard there's some "conflict" with the new villagers interaction system from the 1.3 ...
I can't get them to work .. I made whole village of farmers, gave them resources and they still don't do anything ..
@SomeRandomGameDev
Also, I know you are a busy guy, but could you give an example page of the config.yml we have to create to personalize the plugin more?
@SomeRandomGameDev
:D Sounds like wonderful personal circumstances, congrats!
I have someone who has told me they are in love with your code, and although they are on vacation themselves, they would like to see the updated source. :)
I will keep you updated on it!
@softvelvet
Normally, the github wiki is updated before any release. However, I'll check it.
BTW, I'm still looking for someone to continue this plugin. I've got some (pleasant) personal issues, and won't be able to do updates as i wish.
@SomeRandomGameDev
Could you update your github source to match the newest version?
@TheCoryGuy
https:github.com/SomeRandomGameDev/bukkit-workers/wiki/Farmer https:github.com/SomeRandomGameDev/bukkit-workers/wiki/Blacksmith https:github.com/SomeRandomGameDev/bukkit-workers/wiki/Librarian https:github.com/SomeRandomGameDev/bukkit-workers/wiki/Butcher https:github.com/SomeRandomGameDev/bukkit-workers/wiki/Priest https:github.com/SomeRandomGameDev/bukkit-workers/wiki/Manual
@TheCoryGuy
you have to build the config.yml yourself, but I have not figured out how to for the life of me. It's in the manual, but otherwise it should work just dropping it into your plugins. Permissions do work, as well.
Read the manual to see how to get your villagers working! :D
...where's the config.yml file?
My villagers aren't doing anything. >.<
Bukkit 1.2.5 R4.0
Hello again! I know you do not have a lot of time, but could you please just give a small update that gives us the option of turning off the console spam?
Having that happen every minute is causing a great deal of spam.
Hello there ! I'm just back from my holidays. It seems that many things happen in the MC world. I'll take all your comments in consideration and warmly thank you for your interest.
As I've already mentioned, this plugin is public domain. So, don't hesitate to fork it and update it as you wish.
(by the way, i'm still looking for a successor. If you have java skills or already run a bukkit plugin, please contact me.)
Is it possible that you could add in the option to disable the Villager Trading added in 1.3?
I really like the look of this plugin and honestly think I'd rather have this aspect of villagers over trading. My concern is that using your plugin with another plugin that disables trading will stop your plugin from working.
Thanks for reading!
I don't have lag when it saves, but it is quite annoying that it does it so often, even when no players are on. Make it configurable?
Ok, the plugin is great but could you add a config setting for how often it saves? I've found reason to dig through my server log the past couple days but its almost entirely filled with [INFO] Villagers' data serialized.
Plus whenever it autosaves, all other functions on my server appear to freeze. So every few seconds or so theres a moment of being unable to open chests, chat, interact with mobs, etc (and this is while I'm on LOCALHOST lol).
Please fix!
It does work fine! The only trouble is that the villagers trade with you when you right click on them, but that does not stop you from interacting with the villager. (ex. is giving a Priest glowdust)
Nvm, works great with 1.3.1! Awesome plugin!
I dont see any reason why this shouldnt work with 1.3, but I;m gonna ask to be sure. Does this work with 1.3.1?