WeaponLevels
Weapon Levels
Features
- Weapons, Armor, Tools and other items gain experience as you use them and level up!
- As they level up, weapons and items deal bonus damage!
- Items gain enchantments as they level up!
- Experience bar and level shown under the item name in the inventory!
- Permissions!
Description
WeaponLevels allows you to level up your weapons and tools as you use them, making them more powerful! The level and experience are displayed right under the item name, adding a slick new look to your server! Every time you hit or kill a mob or player, the weapon you're using will gain experience. As it levels up, it's damage will increase and the color of the item name will change.
Video by Samkio and Torrent!
Item Stages
Stages can be set in stages.yml. As your items level up, they will reach each stage and receive the color, enchantments, and any bonuses that are set.
Commands
- /wl version - Shows the current version of the plugin.
- /wl reload - Reloads the plugin config files. OP only.
- /wl setlevel <level> - Sets the level of the currently held item.
Permissions
- weaponlevels.* - Allows all items.
- weaponlevels.<stage> - Allows <stage> items
- weaponlevels.setlevel - Allows use of /wl setlevel
Enchantments
Enchantments can be set for each level stage in the config. The list of enchantments is separated by commas. Each enchantment is formatted with two numbers separated by a period. The first number is the ID of the enchantment (Click here for the ID list), and the second number is the level of the enchantment. So if the enchantment is "5.3", it would be Respiration III. Or, if it were "17.5", it would be Smite V.
Upcoming Features
- Integration with RPGItems, MagicalWeapons, PVPGun+, and DiabloDrops
- More information in item descriptions (damage/armor, special effects, etc.)
- Weapons gain durability as they level up
- ...let me know of any other ideas you have for new features!
>> Source Code <<
>> Developer API <<
NOTICE
Version 1.2.6 has been posted and is awaiting approval by a moderator before it will be available for download.
Please note that this is a development build that was rushed in order to fix multiple bugs from the previous version, so use it at your own risk. I had to rush it because I'm going on vacation for a week and will not be able to code during that time.
Some changes to be noted:
- Now uses only 4 config files: config.yml, stages.yml, groups.yml, items.yml
- Stages.yml defines all of the stages.
- There is now a "bonuses" section that contains things such as damage, armor, etc.
- Ignore groups.yml and items.yml for now; they haven't been fully implemented yet.
- When fishing, you can now receive fish of different levels; the higher level your fishing rod, the higher chance you have of catching high-level fish
- Stages now have a "food" bonus which increases the fullness you gain from eating food of that level
- Many items have their experience bars removed; this will be configurable in the next update
If you have any questions about the new system, or bugs you have found, please leave me a private message and I will get back to you as soon as I can.
Donators
GleeCraft: $50 (gleecraftmc.com)
Donations are greatly appreciated and allow me to spend more time working on the plugin! Let me know the name of your server when you donate and I'll add your server to the list above!
Thank you for taking my idea into consideration novus :)
@TheRealNovus
I was thinking of a few suggestions
1) Attack speed, increases attack speed as it progressively gets better 2) allows for these to be able to be dropped by certain mobs (maybe tie into another plugin?) 3) random chances of crafting one of them? 4) have stuff like +4 damage on it so they know.. or +2 speed +4 damage etc
Well usually it seems that if you have a question, someone else also does, but we are bleeding edge so if no one has done it or used it we gotta figure it out. This is one of those things people wont know how much they like till it is there
thank-you again
@ChrisMrMinecraft
I'll see what I can do with that to give more flexibility.
And no, that's not blocks.yml, that's blocks.dat. It stores blocks placed by players so that you cant use it to level up your tools, like by just placing and breaking cobblestone over and over to gain levels.
Idea: add attack speed, higher the level = faster attack speed you have so players actually have to work to be able to spam click..
@TheRealNovus
I switched to the newt beta release of bukkit yesterday and the shutdown error is gone. Do you think you could make a config that defines are affected by WeaponLevels? For example, the config for it would look like this:
Weapons: -DiamondSword -IronSword -Bow
Tools: -IronPickaxe -DiamondPickaxe
So basically one category (weapons, tools, etc) per YML file in the configuration folder. So the weapons category in the Entities.yml file could go with the weapons.yml in the plugin's configuration folder. That way the server owners can set certain items that can be leveled up rather than all the defaults that come with the plugin.
I noticed that there is a blocks.yml file in the WeaponLevels's main folder, but mine either is empty of fills with a bunch of incomprehensible text. Is this blocks.yml supposed to do the same thing as what I have suggested above?
@antichip
That's odd. I found the cause of the spam and fixed it for the next update. I'm gonna look through the code and try to figure out what's causing your problem with the enchantments. I'll also do some testing on my own server to try to figure out what the hell is going on. Sorry for the issues, I'm doing my best to get everything working. Thank you for the patience and for trying to figure it out yourself instead of posting "HALP NO WURK YYYY NO WURK HALP MEE WAT DOOOOO" like *ahem* SOME *ahem* people on bukkit.
EDIT: Fixed!! Enchanted items will now work in the next update, so hold on tight. ETA is this weekend.
I had to go back to a backup server from a few days ago, alot of plug-ins not updated, no errors though. I did this due to not being able to grab item in inventory. Anyway Now I no longer get the errors but the weapon level is no longer displayed and I do not know if it is leveling up or not. I guess the real question is can this be used along with regular enchantments or will it be one or the other? I will try doing more testing like on a separate server or something, I hate bouncing the server on and off all the time. Any found items with a lore enchantment seems to level just fine until I use the enchanting table on it.
Yay I'll copy all files/clone the server onto another computer and start doing more playing.
@ChrisMrMinecraft
I found the cause of the spam and removed it for the next update. Thanks for letting me know. What error do you get when turning off the server?
@Mr_Wired
I'm 90% sure they stack, but I'll have to test it. I'm not entirely sure how the enchantments work yet and I'm still trying to figure it out and work out the bugs. If they don't stack, I'll make them stack for the next update.
EDIT: They do stack. So, if the "Good" rating has Smite 3, and the "Better" rating has Smite 4, it will increase the previous enchantment to 4.
To add multiple enchantments, just separate them with commas (you can use a space after the commas or not, it doesnt matter). So like, "enchantments: 4.1, 5.3, 1.3" would give all three of those enchantments.
I also have an error with "Could not pass event EntityDamageByEntityEvent to WeaponLevels v1.2.2 org.bukkit.event.EventException at" and so on.. With this errors I can't use this plugin :(
I tripple the permissions request, but more important, Please check to see it items are enchanted or you are wearing any enchantments. I created diamond sword, leveled it to 8. enchanted it. dupped it in creative, used it. Console puked errors all over me. Tried it on a non dupped enchanted item, same puking. When the enchantment is added it removes the level bar. Errors occur when using any enchanted armor or weapon that will level. I think I would rather have this plugin than enchantments but I would doubt my players agree. Thank-you for all your work so far.
Ok so I just saw this does the enchantments as well , IDK how I missed that. So here is a suggestion. Original too I think. lol Make it so than enchantments are only gained through absorption. Say you kill a creeper with sword, chance that sword picks up extra blast damage, or if creeper hit you possibility armor gets protect from blast damage. So all enchantment would either be game drops or battle earned.
12:35:12 PM [SEVERE] Could not pass event EntityDamageByEntityEvent to WeaponLevels v1.2.2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 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 org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEvent(CraftEventFactory.java:89) at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:377) at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:402) at net.minecraft.server.v1_5_R3.EntityLiving.damageEntity(EntityLiving.java:677) at net.minecraft.server.v1_5_R3.EntityHuman.damageEntity(EntityHuman.java:684) at net.minecraft.server.v1_5_R3.EntityPlayer.damageEntity(EntityPlayer.java:358) at net.minecraft.server.v1_5_R3.EntityArrow.l_(EntityArrow.java:229) at net.minecraft.server.v1_5_R3.World.entityJoinedWorld(World.java:1355) at net.minecraft.server.v1_5_R3.WorldServer.entityJoinedWorld(WorldServer.java:614) at net.minecraft.server.v1_5_R3.World.playerJoinedWorld(World.java:1336) at net.minecraft.server.v1_5_R3.World.tickEntities(World.java:1224) at net.minecraft.server.v1_5_R3.WorldServer.tickEntities(WorldServer.java:480) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:563) 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) Caused by: java.lang.NullPointerException at com.coffeecup.novus.weaponlevels.Util.searchListForString(Util.java:178) at com.coffeecup.novus.weaponlevels.Weapon.hasWeaponLevelMeta(Weapon.java:77) at com.coffeecup.novus.weaponlevels.Weapon.<init>(Weapon.java:35) at com.coffeecup.novus.weaponlevels.listeners.ArmorListener.onEntityDamageByEntity(ArmorListener.java:42) at sun.reflect.GeneratedMethodAccessor201.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) ... 20 more
Hello, I have been having some trouble with this plugin. I am running the latest beta build of Craftbukkit and the latest version of this plugin. When a player kills something with a entity in hand other than a weapon, the console is spammed with errors. I also get a error when I turn off the server. I made a thread on it here: http://forums.bukkit.org/threads/weapon-levels-issues.148493/
PERMISSIONS on this please! Permission to be able to level up your swords, those who don't have permission node added can't use a lvl'd up sword, bow, etc and can't lvl up one themselves. Please add this fast!
Do the enchantments stack on to each other with the levels, and how do I do multiple enchants on one level?
@broluigi
Great suggestion, I'll do that!
This is great! Thanks for making this come back to life! Though it would be amazing if you could make it so we could add permissions so certain ranks can only get items to certain levels like for example - - weaponlevels.10 so players cant get past level 10
Hey guys, I have finally managed to get ahold of InnoKo outside of Bukkitdev.
I will be fully taking over this plugin, since InnoKo is done with minecraft for good.
Stay tuned, and feel free to contact me with any questions! ▲
If someone could take this over i would donate like mad.
Can you please update this to 1.5.2? Because it is a great plugin and with that version it sends a lot of errors to the console. Thanks