RepairRecipe
RepairRecipe
This Plugin allows you to repair armour/weapons/tools with the base item needed to craft the item and keep the enchantments. Repair costs depend on damage of the item, amount of base items needed to craft the item and the level of the enchantments. To repair an item, drop the item and the base item into the workbench. The result is the repaired item with enchantments. And almost everything is configurable!
No special block or construction needed. Just use the workbench to repair items.
Latest Dev Version: only Bukkit 1.7.9-R0.2 (beta)
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Version 0.4.9 - Source - Download - only Bukkit 1.6.4-R2.0
Version 0.4.8-beta - Download - only Bukkit 1.6.1-R0.1
Version 0.4.7 - Source - Download - only Bukkit 1.5.2-R0.1, 1.5.2-R1.0
Version 0.4.6-beta - Download - only Bukkit 1.5.1-R0.1
Version 0.4.5-beta - Download - only Bukkit 1.4.7-R1.0
Version 0.4.4 - Download - only Bukkit 1.4.7-R1.0
Example
- One iron ingot repairs 1/3 of an iron pickaxe without enchantments.
- One iron ingot repairs 1/9 of an iron pickaxe with a level 3 enchantment.
Usage explained by spitfire25565:
Features
- Repair items with base item and keep enchantments
- Configure base item and amount needed for a item to repair
**
new**
- Set a chance to randomly remove enchantments on repair (configurable globally and per group)
- Configure the costs for enchantment repair (configurable global and per group)
- Configure extra costs for special enchantments (configurable per enchant)
**
new**
- Over-Repair - waste no base item and allow to get items repaired over 100% durability
- Discounts for Groups - set a discount for your sponsors (configurable global and per group)
For every "per group" setting Vault is needed.
Default base items
- iron ingot for all iron tools, weapons, armour and shears
- iron ingot for chainmail armour (but cheaper than iron armour)
- leather for leather armour
- cobblestone for stone tools
- wooden planks for wood tools
- gold ingots for gold tools, weapons and armour
- diamond for diamond tools, weapons and armour
- string for bow and fishing rod
Installation
Put the RepairRecipe.jar into bukkits plugins folder. Configurations are setup automaticlly.
Standard Config is created automatically.
Configuration
allow_over_repair
To allow Over-Repair set this to true (Default false)
allow_over_repair: false #or true
keep_enchantments_chance
If you do not want to keep enchantments, set this to 0, if you want to keep them set to 100. (formerly as keep_enchantments: true/false)
Any value between is the chance you will keep the enchantments. But keep in mind, the dice can roll up to three times for each enchant. If you are lucky enough to keep the enchant, there will be another roll with the dice. If it hits you there, the enchant gets an random lower level. And don't trust the result view of the workbench. You can't forecast the roll!
keep_enchantments_chance: 100 #value between 0 (remove enchants) to 100 (keep enchants) keep_enchantments_chance_groups: {} #set it to different values foreach group
You can set this chance for each permission group, if you are using Vault. For non defined groups the global default is used.
keep_enchantments_chance: 10 # be a lucky bastard to keep any enchantment keep_enchantments_chance_groups: Sponsor: 100 # but don't mess with sponsors!
enchant_multiplier
Repairing items with enchantments is expensive. With this multiplier you can make it cheaper or make it even more expensive. If you set this to 0 there will be no extra costs to repair enchanted items.
enchant_multiplier: 100 #value between 0 (no extra costs for enchantments) and 200 (around 30 diamonds for a pick axe with a level 4 enchantment) enchant_multiplier_groups: {}
Its now possible to set this enchantment multiplier per group if Vault is enabled. Is this option is used, enchant_multiplier is the fallback if the user has no group or if the group is not listed.
enchant_multiplier: 100 # around 15 diamonds for a pick axe with a level 4 enchantment enchant_multiplier_groups: Sponsor: 20 # around 5 diamonds for a pick axe with a level 4 enchantment
special_enchant_multiplier
You think some enchantments should cost more than other? Or some enchants should be free? Then this option is for you!
special_enchant_multiplier: {} # default - all enchants have the same multiplier (100)
This multiplier is multiplied by `enchant_multiplier`. If you set `enchant_multiplier` to 0, this setting has no influence at all. Set this to for a enchant to 0 and this enchant will be free to repair.
Possible values: PROTECTION_ENVIRONMENTAL, PROTECTION_FIRE, PROTECTION_FALL, PROTECTION_EXPLOSIONS, PROTECTION_PROJECTILE, OXYGEN, WATER_WORKER, DAMAGE_ALL, DAMAGE_UNDEAD, DAMAGE_ARTHROPODS, KNOCKBACK, FIRE_ASPECT, LOOT_BONUS_MOBS, DIG_SPEED, SILK_TOUCH, DURABILITY, LOOT_BONUS_BLOCKS
special_enchant_multiplier: DURABILITY: 200 # value between 0 (for free) and 200
use_highest_enchant
With use highest enchant you have another option to regulate the price for enchanted items. If this is set to false the `enchant_multiplier` will be multiplied by the sum of all the levels of the enchants on the item. For a tool with Unbreaking II, Fortune III and Efficiency IV this would be nine times `enchant_multiplier`. If you set this option to true, only the highest enchant counts and it would only be four times `enchant_multiplier`
use_highest_enchant: false # or true
discount
With this option you can set discounts for the repair price. Its like the 10% bonus repair with the Minecraft repair function. A discount of 100 means it only costs one base item whatever the durability of the item is. If you turned on over repair the item will have a durability of 200% with discount 100. Use something like 80 to avoid this most of the time.
discount: 10 # value between 0 (no discount) to 100 (one base item) discount_groups: {}
Like most of the settings you can set this for each permission group, if vault is activated.
discount: 10 # around 14 diamonds for a pick axe with a level 4 enchantment (multiplier 100) discount: Sponsor: 25 # around 5 diamonds for a pick axe with a level 4 enchantment (multiplier 20)
base item configuration
If you want, it is possible to change the the base item and amount needed to repair an item with no enchants from 0% to 100% durability. To this base costs the enchantment costs will be added and after all the discount subtracted.
The item configuration is in the `items.yml`. If you remove an item there, it is not possible to repair it, until you add it again. But you can also additional items. If anyone wants to add none standard minecraft items, i will try to add this. Maybe it even works already? I have no experience with such plugins.
diamond_axe: # this is the item you want to repair (possible are names or ids) base_item: diamond # this is the base item, which you should add to the grid (possible are names or ids) base_amount: 3 # this is the amount of the base_item you need to repair the item from 0% to 100% durability
Because I like overkill, there are more options. None of the default recipes have this, so you have to manually add these if you want these. With these additional configs you can overwrite the repair behaviour for some special items. Like change the `keep_enchantments_chance`, `enchant_multiplier`, `allow_over_repair` and `use_highest_enchant`. This overwrites the default and group values for this setting. If you want the default/group values, remove the option or set it to `default`.
diamond_sword: # see above base_item: diamond # see above base_amount: 2 # see above keep_enchantments_chance: default # use the default value set in congig.yml (global/group) enchant_multiplier: 200 # repair costs for weapon enchantments are more valuable allow_over_repair: false # you are a PVP Server? Definitely set this to false for all armour and weapons. use_highest_enchant: true # high multiplier but only for the highest enchant, sounds fair? # more are coming (exp costs for repair? exp get for repair? economy costs? ...?)
MCStats
MCStats is free, open source and anonymous. All data is public and freely available for every plugin. (http://mcstats.org/learn-more/)
Quote:You are free to opt-out of submitting data whenever you wish. This will immediately stop sending data for any plugins that supports MCStats / Plugin Metrics. Simply edit plugins/PluginMetrics/config.yml and change opt-out: false to true
If you have any questions at all about how this service operates or anything else, please do visit us in IRC or email me directly: hidendra [at] mcstats.org
Permissions
- RepairRecipe.repair
- Player is allowed to repair items. Default: true
- RepairRecipe.repair.enchant
- Player is allowed to keep enchantments. Player without this permission, can repair their items, but will lose all enchantments. Default: true
- RepairRecipe.repair.overRepair
- Player is allowed to over repair items. Default: false
- RepairRecipe.admin
- Player can use the commands /repairrecipe reload and /repairrecipe debug
Commands
- /repairrecipe reload
- Reload the `config.yml` file. To reload `items.yml` restart the server.
- /repairrecipe debug [true|false]
- Enable debug mode. Many debug messages will appear in the server log and some to the player. Do not enable this as long as you do not want to report a bug.
Know Issues
- none yet
Please post bugs at https://github.com/attrib/RepairRecipe/issues?state=open - this way I get a email right away! I dont check the comments here regulary.
TODO
Don't know if this will happen, as there issn't much support for any of the features.
- get Exp from repairing items
- Exp costs to repair enchantments
- possibility to unenchant an item
- add economy support (suggested by OriginalMadman @ #2) - feedback needed
Credits
I want to thank everyone who gives me feedback and tests the plugin. If you help me, I will add you to this list ;)
- Coding: attrib
- Tester: Cyprias, Maresi, TimeSpawning
- Video by spitfire25565
- Additional Feature Requests and Ideas: Maresi, OriginalMadman
Okay I fucked up. Fixed the issue hopefully. Sorry it took so long, but took some time to find it.
Uploaded a new version, which is currenlty waiting for approval. Thanks for all the comments and hints.
I'm am still getting the following error while loading the plugin:
2013-05-15 23:05:24 [INFO] [RepairRecipe] Enabling RepairRecipe v0.4.7-beta 2013-05-15 23:05:24 [SEVERE] Error occurred while enabling RepairRecipe v0.4.7-beta (Is it up to date?) java.lang.NoClassDefFoundError: ru/tehkode/permissions/exceptions/PermissionsNotAvailable at de.funkyclan.mc.RepairRecipe.RepairRecipe.onEnable(RepairRecipe.java:31) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:396) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:383) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:303) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:285) at net.minecraft.server.MinecraftServer.func_71243_i(MinecraftServer.java:530) at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:496) at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:420) at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:218) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:652) at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
@MisterMystery More specifically I'm getting this error:
[SEVERE] Could not pass event InventoryClickEvent to RepairRecipe v0.4.7-beta
Still no config file generated.
I'm getting the same errors as below that the plugin could not be loaded. Seems to be identified in my /plugins command, but no folder or config.yml file is created.
I'm using 1.5.2 bukkit with no vault and basic permissions.
Please help? This is an amazing plugin I'd love to be able to use it!
Hi, same error vault 1.2.25-b320 group manager 2.0(2.10.1) Please advise if I can help with anyother info
@attrib
I am also getting several different errors, although they're very similar to each other. This is probably the most frequent one:
[SEVERE] Could not pass event InventoryClickEvent to RepairRecipe v0.4.7-beta Caused by: java.lang.NullPointerException at de.funkyclan.mc.RepairRecipe.RepairRecipe.getRepairRecipeFor(RepairRecipe.java:58) at de.funkyclan.mc.RepairRecipe.RepairRecipe.getRepairRecipeFor(RepairRecipe.java:54) at de.funkyclan.mc.RepairRecipe.Listener.CraftingListener.onInventoryEvent(CraftingListener.java:83) at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:1172) at net.minecraft.server.v1_5_R3.Packet102WindowClick.handle(SourceFile:31) at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:581) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:226) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:477) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:410) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
@attrib
I am getting a very similar error:
[SEVERE] Error occurred while enabling RepairRecipe v0.4.7-beta (Is it up to date?) java.lang.ClassNotFoundException: ru.tehkode.permissions.exceptions.PermissionsNotAvailable
Running CB 1.5.2-R0.1 | GroupManager v2.0 (Pre2.11.1.5) (Phoenix) | Vault v1.2.25-b320
@attrib
no vault but i use bPermission
@marubal21
Which version of Vault and what Permission Plugin?
When i start up my server i get the following error while loading the plugin:
2013-05-15 23:05:24 [INFO] [RepairRecipe] Enabling RepairRecipe v0.4.7-beta 2013-05-15 23:05:24 [SEVERE] Error occurred while enabling RepairRecipe v0.4.7-beta (Is it up to date?) java.lang.NoClassDefFoundError: ru/tehkode/permissions/exceptions/PermissionsNotAvailable at de.funkyclan.mc.RepairRecipe.RepairRecipe.onEnable(RepairRecipe.java:31) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:396) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:383) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:303) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:285) at net.minecraft.server.MinecraftServer.func_71243_i(MinecraftServer.java:530) at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:496) at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:420) at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:218) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:652) at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
@attrib
No problem mate. It's a great plugin, my community can't live without it.
@Cyprias
Thanks for doing this. I uploaded now a new version, which are waiting approval.
@faesorama
Can't get MCMA_Compat to run on my machine. Seems to me it needs JRE7 and because of other projects, I can't upgrade currently.
Thanks Cyprias, I knew you might be good for something,.
I've compiled 0.4.6-beta for 1.5.2-R2. You guys can find it here.
RepairRecipe_1.5.2-R0.1.jar.
I'm sure attrib will submit his own update shortly and my link will no longer be needed.
Are you working on support for MC 1.5.2?
broken in 1.5.2 :P
hey mate i did some testing and its a problem with MCMA_Compat / mcmyadmin plugin i took the time to remove each plugin one by one and start and when i removed that it worked error on startup http://pastie.org/7708947 error when using crafting table http://pastie.org/7708949
thx for your time
@IngrownPenguin
Which version of bukkit and which version of repair recipe? Tried with craftbukkit-1.5.1-R0.2 and RepairRecipe 0.4.6-beta, works for me without a problem.
@predawnia
Seems for me a problem with Valut and your permission plugin. Try to update Vault and your permission plugin.
@Heifinator
Can you post your config, which doesn't work? Because with the default config it works.
@faesorama
Works for me with craftbukkit-1.5.1-R0.3-20130418.060238-5. Can you be a little bit more specific, what are you doing, when this error occures?
yur stuff dont work with latest dev builds no map generation
13:16:33 GMT+02:00 CONSOLE: [SEVERE] Could not pass event InventoryClickEvent to RepairRecipe v0.4.6-beta
across my hole consule xD
I tried with 1.5.1-R0.2 beta and get this startup error: http://pastie.org/7663025