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.
I love this! It is sorta spamming the console however! It just repeats this every few moments:
It's not too bad, just very spammy.
I love it so far. I have an underground village just above bedrock (yes, I have managed to get the villagers to breed thanks to strategically places "ventilation shafts") and having iron golem walk around lighting the place is fantastic. I have a question about the mining activities of blacksmiths, though.
They only mine under placed ironblocks, correct? They won't mine ores the pass by or walk over? I ask because, in a cave environment like I have, it would be nice if blacksmith could recover ores or coal which they walk past. Sort of like how the farmer works.
Really my dream of dreams would be for the blacksmith miners to build horizontal tunnels, but that sounds Hard.
Oh, I should add: it would be nice if iron golem provided feedback when you give them torches and click them with a stick
@SomeRandomGameDev
I wish I had the technological know-how to help with the codes :/ I seem to be a natural at Bug findings, however I don't have the slightest knowledge of java programming, or even HTML to be completely honest... I've considered looking into college courses for such things, but honestly I'm not sure what I would be most interested in pursuing... :/ Sorry I can't, nor do I know anybody that can act, as a successor :( Hopefully something will work out though. :)
@TheLoneWolf85
Thank you for this kind feedback ! Really appreciated :)
My well deserved holidays will arrive soon. I've been working hard for my "real job". I didn't have so much time to produce anything new/improve the plugin. That's why I'm thinking about looking for a successor (or successors). If someone has time to spend on this plugin, let me know !
@SomeRandomGameDev
Everybody slips up from time to time, far as I see it, you're still the Genius behind this plugin lol :) I'm just extremely glad to be able to help keep it functioning in some form or fashion! Everybody on my server Absolutely LOVES it!
Thank you for all that you've done, from me and my friends!
Ok, I must admit that I've been too lazy to implement the auto-brewing stuff. But I'm working on it. Well, actually, I'm working on planning it. Sorry for the delay.
@TheLoneWolf85
That's odd. By the way, I only save stuff when the plugin is disabled. Perhaps that's the trick. I'll investigate more closely ...
Ok, guess who's the noob who forgot to handle the "world saving" event ? I'll make this correction, test it, and it will be in this week-end release. Sorry for the inconvenience.
@SomeRandomGameDev
I actually 'did' follow your instructions, and removed the entire folder, made sure there was no reference to the villager plugin at all... :/ but I will try it again, remove it completely, and put 0.3.3 in again... Maybe I missed something?
Just thought I'd Let you know I'm still following your posts :) My players "Love it!" Funny to watch them trying to chase down the seeders too :D Please do Keep up the good work ^.^ -Wolf
Scheduled for the next release of this week-end (for the moment):
Please, let me know if I forgot something, but I think it's already a lot of stuff for 4-6 hours of coding/testing/documenting.
I've been investigating the issue about villagers data removed from one session to another : It seems to come from the fact that one doesn't remove plugins/UsefulVillagers directory when migrating from 0.3.2 to 0.3.3.
@SomeRandomGameDev
just getting back to you on this, you could remove the real entity from the world, replace it with a packet(they will stand in the same place for a while) then send the bobber packet. then, once they are done "fishing" you just get rid of the packets and respawn the villager with their rotation and head rotation back to normal. i could help you with this if you want.
I've not done a single line of code this week-end ! The 0.3.4 is scheduled for the next week. Sorry.
I'll try to add priest auto-brewing and area of effect (whatever it concerns : setting monsters on fire or healing other villagers/players).
I've also planned to revised the serialisation mechanism so migration will be smoother/automatic.
@SomeRandomGameDev
Every character brings supply's. Wheat, wool, etc.
I have a server with the drugs plugin. (And I'm from the Netherlands)
He brings the drugs into the city. And sells it (Minecraft 1.3. You can trade with villagers)
But I think that a Drugs Dealer better is than a drug addict.
@DeusAmplus
But ... what could possibly be the point here ? :)
Make a drug addict. When you give him drugs (sugar or Green dye/), he becomes homeless. He's going out of the city every day to search for drugs. (sugar cane or Cactus) He stores his drugs under the tree where he lives.
I hope this is possible :)
DeusAmplus
@TheLoneWolf85
Thank you for the kind feedback.
Hmm, the serialisation issue again ? You're not the first one annoyed by that. It never occurs on my server. It's weird. I'll investigate that issue this week-end. Perhaps it is time to change my persistance method and not rely on java anymore. Sorry for the inconvenience !
(And yeah, the seeder is pretty annoying too ;p)
@SomeRandomGameDev
Hello, I Love this plugin (so do the players on my server) However I have noticed 'one' thing that has proven an annoyance (beyond having a seeder run wild lmao) When I have to restart my server, due to updates, server/computer maintenance, or anything... All of the Villagers are "Not useful" anymore.. it resets them back to Regular Villagers, forcing everybody server wide to go back through and re-do them, from the wheat/book/ingot up to giving them the tools back.
Just caught it tonight, as I had to do a computer restart for maintenance... Some way to save a configuration files to keep track of them maybe? Just an Idea, I'm a total noob to all of the programing aspects of it, so thought I would toss it out there. Thanks though for a great plugin! Before they only served use as moving Target Dummies... :) Best Wishes.
@dylanisawesome1
Interesting. I've quickly checked citizens code. Nice piece of work. I almost feel useless. But they seem to hijack craftbukkit to send extra packets (not for pathfinding, just for adding animation stuff or so).
In the case of my plugin, i use existing entities which have their own existing routines. I won't bother the server engine by keep teleporting them at a certain location ;p
I dream of an API within the server that allows setting a waypoint to a living entity, and you get notified by an event when the entity succeed or failed (timeout/problem) to reach it. The server manages entity update (orientation, speed, position), pathfinding (i can do that, i'm pretty used to it, but a centralized pathfinding system is way better than 'per plugin' pathfinding systems - for performances and consistency). Once you have this kind of API, one can do whatever he/she wants about AI.
But it's a dream ;p
@xzero121
Oh ... This looks like an annoying bug ! I'll check the code right now (but won't be able to correct it as I'm at work). Thank you for the report. Don't hesitate to create a ticket.
-I've checked the code. And you're right : There a problem (see here at line 728, in the cleanBlock method. Poorly designed method ... I must have done this late in the evening ;p). In the case of the ground block is 'soil' (which happens for crops AND stems), it only checks if the above block is crops. As in our case, the above block is stem so it overwrites it !
I'll correct this as soon as I can (in 12 hours or so).
-So, i've corrected it and pushed it to the git repository. I won't "deliver" it tonight but you can still get the sources at the github repository. It will be part of this week-end delivery.
This plugin just gets better and better, keep up the awesome work!
today i noticed that a villager given melon and pumpkin seeds will plant them over already planted melon and pumpkin seeds, kindof the oposite of progress in a farm, anyways, just wanted to make sure you knew about this.