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.
@cadika_orade
Same here.
On behalf of the members of my server, especially the Than of Torch Run, this is an awesome plugin!
Unfortunately, whenever the server reboots or I reload Bukkit, every villager forgets their task. I'm not certain this is a bug, but it is irritating and I've gotten rather irritated with it.
A quick question: can villagers draw from and place things into a minecart with a chest? I'm not suggesting they should be able to if they can't. Just curious.
@seanth
It's a good idea. In fact, I'm currently working on loosening all constants/parameters. This includes activation materials and will cover your need. I'm working as fast as I can. It's not a really big stuff to code, but I don't have that much time :/
What do you think of allowing the server admin to define what item is used for various tasks? For example, I would like the priests to be able to heal villagers by using wheat vs glowstone. That way the farming activities would go to keeping the villagers healthy
Please update soon, this isn't working with 1.4.2 :(
This plugin sounds amazing!
I will download and try it once it is updated to 1.4.2 :)
@MattSheridan
As the two plugin are independant, I don't see why you could not do that. I've not tried this, but I guess it's possible. Feel free to provide me some feedback about this. And if it is not possible, create an issue/ticket.
Hey, it's not possible to have a shopkeeper from the Shopkeepers mod also do UsefulVillager stuff, is it? I'd like my potion-selling priests to be able to heal players, too. Impossible?
Everything is planed for the v0.5. There's some chance that it'll become the v1.0. It will manage every available features and their variations (including auto-brewing that has to be implemented). I need to implement one last major feature : entity breeding/slaughtering management.
Fell free to visit the github to see what is planned.
@tetico
The "generic villager" one ? That's an interesting idea. But won't it be irrelevant in the future ? Do you have a need for a different skin in the lumberjacks case ?
Can you use in the future the green villager skin for the lumberjacks?
@SomeRandomGameDev
I know that feeling :-)
Didn't realise that - birch trees having no branches. Makes sense.
What's the idea with Gods? Sounds interesting...
What I thought was useful about citizens is you could override the villager's wandering. At the moment I have to fence the poor things in to their workplace!
strange
@StrangeOddity
Full tree management is planned since ... the very beginning of this plugin. In fact, I've restricted to birch trees because it was the more simple for tree block removal (a straight column, not branches). I'm agree that the plugin need full tree support.
Concerning Citizen 2 support, well, I won't make any promises. I've already though about a connection with the "Gods" plugin, and I've not done a thing about it.
So many things to do, and not enough time ;p (And the 0.3.6 is scheduled for this week-end ...)
Truly great plugin - has added a whole new dynamic to my villages!
Two questions/thoughts?
1 - would it be possible to allow farmers (not lumberjacks) to cut/plant trees other than birch trees?
2 I can't help but think a citizens 2 version of Useful Villagers would be very cool...
strange
@diannetea
That is an idea that could lead to a completely independant plugin has it doesn't involve any villagers (for the breeding part). The "harvesting" part may require a villager (the butcher) which eventually scan a medium area to check if there's more than N entities and "harvest" one of them (the oldest).
Nice suggestion, thank you.
I have an idea on how you could potentially implement breeding.
First they would need a timer per animal type. Then they would have to scan a semi-large area around them to see if there are two of an animal around. If so, spawn a baby animal, remove the breeding items, and then set the timer for that species so they don't just mass create creatures.
Also if there are >x animals in that area, have them slaughter until they are back to x
:)
@MadeBySaints
The plugin has already been compiled against 1.3.2-R1.0, but not published yet. I'm doing this right now.
i really want this plugin... but im running 1.3.2.r 1.0 any idea when it will be updated? i just want to have the ability to have my golems placing torches. they are a very integral part of my server :) cheers and thanks again
This plugin is the best!! Thx for do it posible! Cheers from Spain! :D