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!

-
View User Profile
-
Send Message
Posted Jan 1, 2013Getting this errrors in console all the time (with WeaponLevels 1.2 and latest Spigot #375)
-
View User Profile
-
Send Message
Posted Jan 1, 2013@6y7t8h
Thank you! The next version will be uploaded in just a few minutes, I have all the new features completed and I'm just testing the Armor as I type this (waiting for my test server to start up) :)
EDIT:
Version 1.2 is now up!
-
View User Profile
-
Send Message
Posted Jan 1, 2013Hiya innoko. Hoping you are well, can't wait till the release of the next version!
-
View User Profile
-
Send Message
Posted Dec 31, 2012@TheFlannelBeard
Thanks a lot guys! Sorry I didn't end up finishing it last night or today, I was gonna work on it but I was too worn out last night and just went to sleep instead. And today I've just been laying around not feeling too well :/
I really appreciate your support. Ill try to get that update finished as soon as I feel a little better.
And yeah Qwahchees, longboarding is great :) Except when this stuff happens. But its totally worth it.
-
View User Profile
-
Send Message
Posted Dec 30, 2012@_InnoKo_
Glad I could help buddy :), and get well soon! I like longboarding too, haa.
-
View User Profile
-
Send Message
Posted Dec 30, 2012@_InnoKo_
Sorry about your knee :( rest up .In the meantime, im looking forward to re-introducing this!
-
View User Profile
-
Send Message
Posted Dec 30, 2012@Qwahchees
That's a really good way to do it. Instead of two arrays, i could just use a HashMap. I'll definitely do something like that though!
-
View User Profile
-
Send Message
Posted Dec 30, 2012@_InnoKo_
I just had a brilliant idea. For damage changing, have one node named all and have the option to add extra items into the list of editing the damage. Like this.
This is probably the simplest way to change damage.
Also, programming wise you'd probably load an array based on whatever weapons are set in the config, then have the system call the numbers from the array whenever the weapon is used. The system would also need to know what items were listed, so possibly another array for item ID's. Ranged weapons would check the lowest and highest number of the range (for example 1-5) and do a math.Random between 1 and 5. I think this makes sense, in theory.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@TheFlannelBeard
Well, I had a lot of plans that would've pushed back the release date.
BUT, fortunately for you guys, I broke my knee today while longboarding. So plans are now cancelled and I'm just gonna be laying down all week healing and programming :)
ETA would be hopefully sometime within the next few hours, since i'll be working pretty hard on it.
@Qwahchees
Yeah, I think that what I'm gonna end up doing is have a default damage, then you can add your own item names with their damages for special ones. Like this:
default damage: 3
item damages:
IRON_SWORD: 5
DIAMOND_PICKAXE: 8
STICK: 1337
And all items will have a damage of 3, except the specific items you added to the list. Does that make sense to you?
-
View User Profile
-
Send Message
Posted Dec 29, 2012Any ETA on new update for disabling extra items? (ie sticks, blaze rods, bones, etc)?
-
View User Profile
-
Send Message
Posted Dec 28, 2012@_InnoKo_
Doesn't seem to be an easy way to set that up, individually that is. All I can think of is:
DIAMOND_SWORD:
Damage: 1-10
IRON_SWORD:
Damage: 1-10
etc. But that's pretty sloppy. I'll keep thinking :P
-
View User Profile
-
Send Message
Posted Dec 28, 2012@Qwahchees
The next update (not finished yet, please be patient) includes two ways of doing that:
First of all, there is a new configuration option called "Normal Items Enabled." If this option is set to FALSE, then all items other then weapons, tools, and armor will be disabled. This is a quick way of getting rid of levels for items like Iron Ore.
Also, there is a configuration section called "Disabled Items" in which you can set individual items that you do not wish to use with this plugin. So, if you only wanted to disable the ores, you could add the IDs of all the ores in the game and they will no longer be effected by this plugin.
The next update will be uploaded in a couple days so keep checking back!
EDIT: About the damage thing, I'm still working on finding out a way to make it configurable for each item without cluttering up the config file. If you have any ideas on how you think it should be, please let me know.
-
View User Profile
-
Send Message
Posted Dec 28, 2012Looks SICK.
Edit: New idea, how about add a configuration for what items can be leveled? Not a lot of people want a level 20 Iron Ore, lol.
Also, for my sake could you change weapon damage?
if (weapon == DIAMOND_SWORD) {
damage = get.config("DIAMOND_SWORD_DAMAGE");
set.damage(damage);
}
}
Something like that?
-
View User Profile
-
Send Message
Posted Dec 27, 2012@dickwick
Both of those problems have already been fixed for v1.2, I just have to finish a couple more things and I'll upload the update.
@6y7t8h
I was actually already working on adding that, it'll be in the next update. Stay tuned!
-
View User Profile
-
Send Message
Posted Dec 27, 2012There should be a config option which lets you disable the leveling up system for certain items.
-
View User Profile
-
Send Message
Posted Dec 27, 2012Also, people have custom named weapons and this plugin removed their custom name and replaced it with default one (with color). Can this be somehow fixed as well?
-
View User Profile
-
Send Message
Posted Dec 27, 2012Getting this spam as well (java 1.7.0_10-b18):
Could not pass event EntityShootBowEvent to WeaponLevels v1.0 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_4_6.event.CraftEventFactory.callEntityShootBowEvent(CraftEventFactory.java:196) at net.minecraft.server.v1_4_6.ItemBow.a(ItemBow.java:51) at net.minecraft.server.v1_4_6.ItemStack.b(ItemStack.java:281) at net.minecraft.server.v1_4_6.EntityHuman.bO(EntityHuman.java:97) at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:506) at net.minecraft.server.v1_4_6.Packet14BlockDig.handle(SourceFile:46) at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:585) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:481) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:416) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at me.innoko.weaponlevels.Weapon.hasWeaponLevelMeta(Weapon.java:51) at me.innoko.weaponlevels.Weapon.<init>(Weapon.java:22) at me.innoko.weaponlevels.WeaponListener.onEntityShootBow(WeaponListener.java:107) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 18 more
-
View User Profile
-
Send Message
Posted Dec 26, 2012@vicente947
I can put:
0.5? 1.5? or only 1 2 3 4 5 6 7????
-
View User Profile
-
Send Message
Posted Dec 26, 2012@_InnoKo_
Is only this......
-
View User Profile
-
Send Message
Posted Dec 25, 2012@vicente947
That's not the full error, it doesn't show a stacktrace...