Griswold – NPCs repair your items
Griswold
NPCs now can repair and enchant your items! – Without any commands!
Show your stuff to blacksmith and he'll tell you how much he wants for the job. If you agree – just pass him the item. Users have no commands (because they don't need them)!
Simple!
Features:
-
Command-free native minecraft game experience.
-
Repairing does not clear enchantments on enchanted items!
-
Items that are fully repaired can be enchanted (optional)!
-
Multiworld support.
-
Mod items support!
-
Citizens support.
-
Fully multilingual. There are english, german and russian out-of-the-box, but you can add more!
-
All major economy systems supported. If Vault supports something - than it'll work with Griswold.
-
Lightweight!
Video
NPC Types:
When you use /blacksmith create command you can specify a type of NPC. Available types are:
-
"all" – can repair everything and enchant repaired things.
-
"weapon" or "armor" – can repair only one type of items, cannot enchant.
-
"both" – can repair everything but cannot enchant.
-
"enchant" – these guys are just enchanters and cannot repair things.
Permissions:
-
griswold.admin - lets you create and remove repairmen
-
griswold.tools - lets users talk to repairmen who repair their weapons and tools
-
griswold.armor - lets users talk to repairmen who repair armors
-
griswold.enchant - lets users to enchant their gear at repairmen
Commands:
These commands are for administrative purposes, users don't need them.
-
/blacksmith create name - creates new repairman. You can also specify more parameters: /blacksmith create name type cost. Name can be anything and will be displayed in chat when user talks to repairman. NPC types are described below. Cost is repairman's multiplier of cost – it can be greater than 1 to make prices higher or below 1 to make prices lower. Prices are rounded to 2 digits after comma.
-
/blacksmith list - lists all the repairmen ever created
-
/blacksmith remove name - removes a particular repairman
-
/blacksmith despawn / respawn - despawns or respawns all repairmen. Config is not re-read, you have to use next command to reload config.
-
/blacksmith names – toggles names above their heads.
-
/blacksmith sound name bukkitsoundid – sets the interaction sound for the repairman. Use standard bukkit Sound names (you can find those here). You can set sound to "mute" to be silent.
-
/blacksmith reload - reloads config, despawns and then respawns all the repairmen.
All commands require griswold.admin permission and fallbacks to OP if something bad happens.
/blacksmith command has an alias – /bsmith to avoid conflicts with other plugins.
NPC Types:
When you use /blacksmith create command you can specify a type of NPC. Available types are:
-
"all" – can repair everything and enchant repaired things.
-
"weapon" or "armor" – can repair only one type of items, cannot enchant.
-
"both" – can repair everything but cannot enchant.
-
"enchant" – these guys are just enchanters and cannot repair things.
Config:
All parameters are stored in config.yml and are reloadable without restarting the server (/blacksmith reload).
Debug is for debugging stuff and not usually useful if you don't know why you need it. Default is "false".
Timeout is for timeout of blacksmiths "remember" your item and are waiting for you to confirm the repair. Default is "5000" (5 sec).
Language is a name of language file (without .yml at the end) stored next to config.yml and containing all the text in preferred language. Default is "en_US".
UseEnchantmentSystem tells the plugin if he should allow spawning of enchant-type repairmen and allow all-type ones to add enchantments.
PriceToAddEnchantment sets the price to add one random set of enchantments. Default - 50.
ClearOldEnchantments says to repairmen whether they should blank the item before they enchant it or just add new enchantments to it. Default - true that means "yes, blank it".
EnchantmentBonus is a number of "virtual bookshelves" around blacksmith. Greater the number - cooler are enchantments. Default - 5.
UseEnchantmentSystem switches the whole enchantment routine on and off.
ShowNames – shows names over NPC heads.
DuplicateFinder – when a new NPC spawns it will check for possible duplicates that may be there because of server crash in the past. It is off by default, but you can set it to true if you have NPC duplicate issues.
DuplicateFinderRadius is a radius where plugin will search for duplicate NPCs. Smaller means slightly less work for server and probably little bit safer (won't delete wrong guys). You don't usually want it to be more than 10 blocks anyways.
You also can alternate price calculation by changing basic armor and tool prices and enchantment cost. Modify parameters BasicArmorPrice, BasicToolPrice and BasicEnchantmentPrice.
Prices are calculated like this: repairman cost parameter * (basic item type cost + (basic enchantment price * number of enchantments * sum'd enchantment levels)).
This formula makes repairment of simple non-enchanted items quite cheap, items with 1-2 enchantments are at moderate cost and uber-enchanted items repairment cost a fortune.
If you want to change sound that NPC are making on interact – you can use ingame command or change it in the config part of the NPC.
All other config parameters are configurable in-game, so you don't have to bother about them. But if you want – they are quite self-explanatory.
Citizens integration
You can add traits to your npcs to act like respective Griswold NPC types.
Following traits can be added:
-
griswold_tools
-
griswold_armor
-
griswold_both
-
griswold_enchant
-
griswold_all
Please don't add multiple traits at once, lol.
How to add a custom item
You have to create a new entry in config with name CustomItems. This entry will contain two more entries: Tools and Armor. Under those you add your items in "'id': name" format. Yes, it sounds complicated, but it is not! Here, look at my sample config:
CustomItems:
Tools:
'BOW': Bow
'FLINT_AND_STEEL': Flint and steel
Armor:
'LEATHER_CHESTPLATE': Leather Armor
'CHAINMAIL_CHESTPLATE': Some other armor
You can just copy-paste it in your config at the very end of it and change the IDs. Names after ":" are just for your convenience and are not used anywhere in the code.
How to blacklist items
You can prohibit players to repair certain items and also, separately, prohibit them from adding enchantments to certain items.
This is achieved through ItemBlacklist.Repair and ItemBlacklist.Enchant config sections, respectively.
Here is an example of such config:
ItemBlacklist:
Enchant:
- DIAMOND_SWORD
- GOLD_SPADE
Repair:
- GOLD_SPADE
- DIAMOND_SWORD
By default, this setting is not in your config and you have to add it manually.
You can copy-paste this snippet to the end of your config.
Give author a dollar!
I started to develop for Minecraft more than two years from now and only did it in my spare time. I still don't have a legit Minecraft account. Having one would be helpfull to give support in-person on online-mode servers. So if you want me to come to your server or just want to say "Thanks, Tony!" – feel free to use the button below. I will buy myself a minecraft account from these money.
Stats:
This plugin utilises Hidendra's plugin metrics system, which means that the following information is sent to mcstats.org:
unique identifier, server's version of Java, whether the server is in offline or online mode, Griswold's version, Bukkit version, OS version and architecture, CPU core count, number of players online, metrics version.
You can opt-out of this service by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
@Artemuidak
Dude, I speak perfect russian, PM me. Напиши в личку, я говорю по-русски.
When chunks are shipped, the inhabitants disappear, but when loaded chunks again, the residents did not appear, as well as residents are converted to ordinary citizens.
And also not a team /blacksmith respawn
Sorry for my english: (
@X00LA
Thank you, X00LA! Updated language files and fixed this issue in the next version which is already awaiting approval.
Hi toxuin!
I found a small bug in you language file en_US.yml. The lines in chat_enchant_free and chat_enchant_cost are switched. I also saw, that the german translation is outdated. Here you can download the updated one. Dropbox Download
Regards,
X00LA
@MedievalMinecrafters
Are you stopping your server with /stop or just Ctrl-C (closing the window)? Are you sure you're not /reload'ing it? Anyways, I'll investigate more on that issue, thanks for feedback.
@Aeddo
Hey, can you please provide the language file?.. Looks like there is an error in it and I want this plugin give you more (and more readable) info on such errors in future. Thanks!
please upgrade to actual 1.7.9
why is it after a while, the blacksmiths will dupe but the duped one is just a normal npc but with a name, and i have to actually kill it, plus if u walk into the npc he slides around, is there away to keep it still? or change it to a npc of a steve not a villager?
what is this
I have edited the language file
http://pastebin.com/084CN55C
when i use command /blacksmite reload
Keep it up! Using it on my new beta server :)
Here you be: 1.7.2 update!
@9loryn6
Nope. I tried to update it, but I am not interested in it, in view of row of reasons. And main of them - this plugin is not so necessary, as earlier. Besides, I'm still at 1.4.5.
1.6.2 update possibly?? :D
@LaoTheLizard i tried to download your link but it wont work my griswold is bugged it wont sell anything hes just acting like a normal villager but he has the griwold Text config
LoL! Thanks LaoTheLizard. Just checked it and repairing works great for me... ;)
@Rog360
Sorry, my mistake! :) I uploaded old version. Now get that link again - I corrected it.
Still getting error below on startup. Tried it on beta and dev. build. Thanks for working on this... :)
http://pastebin.com/8y1tAvcF
@Rog360
Try this: griswold 1.5.2
Yes, I think developer has abandoned this plugin. I would love to see someone take over this one, as there is no other like it... :)
Автор забросил плагин.