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!
I have error in spigot
2013-06-07 23:34:35 [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.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:26) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464) 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:681) at net.minecraft.server.v1_5_R3.EntityMonster.damageEntity(EntityMonster.java:39) at net.minecraft.server.v1_5_R3.EntityHuman.attack(EntityHuman.java:874) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:1118) at net.minecraft.server.v1_5_R3.Packet7UseEntity.handle(SourceFile:36) at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:192) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnection.java:72) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:583) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404) 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.WeaponListener.onEntityDamageByEntity(WeaponListener.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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) ... 21 more 2013-06-07 23:34:36 [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.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:26) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464) 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:681) at net.minecraft.server.v1_5_R3.EntityMonster.damageEntity(EntityMonster.java:39) at net.minecraft.server.v1_5_R3.EntityHuman.attack(EntityHuman.java:874) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:1118) at net.minecraft.server.v1_5_R3.Packet7UseEntity.handle(SourceFile:36) at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:192) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnection.java:72) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:583) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404) 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.WeaponListener.onEntityDamageByEntity(WeaponListener.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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) ... 21 more 2013-06-07 23:34:36 [SEVERE] Could not pass event EntityDeathEvent 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.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:26) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464) at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:323) at net.minecraft.server.v1_5_R3.EntityLiving.dropDeathLoot(EntityLiving.java:949) at net.minecraft.server.v1_5_R3.EntityLiving.die(EntityLiving.java:897) at net.minecraft.server.v1_5_R3.EntityLiving.damageEntity(EntityLiving.java:754) at net.minecraft.server.v1_5_R3.EntityMonster.damageEntity(EntityMonster.java:39) at net.minecraft.server.v1_5_R3.EntityHuman.attack(EntityHuman.java:874) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:1118) at net.minecraft.server.v1_5_R3.Packet7UseEntity.handle(SourceFile:36) at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:192) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnection.java:72) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:583) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404) 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.WeaponListener.onEntityDeath(WeaponListener.java:130) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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) ... 21 more
Where is 1.2.3? I can just see 1.2.2?
does this work with multiworld pluging or multiverse-core
Thanks again for your hard work and continued development of this plugin, I used one of the enchant programs to allow lvl 6 enchants from enchanting table, after the weapon was enchanted as such no other information can be passed to it by weapon levels errors pop up as described in my first issues report. and if they spam click can crash the server. Enchant plugin gone problem solved except now I want like 30 levels so I can add an enchant per level and still let them get a level 6 sharp,fire, knockback, bla bla, ect ect. Really give people a reason to want and keep their weapons huh,
OK next thing is the Guns plugin I use gets broke after a gun levels up. Not the plug-in per say but after the gun levels it is no longer an ak-47 for instance but just a level 2 mellon stalk or whatever.( edit: I cant replicate this now) So would it be possible to make allow/deny tables for items. I am still going to carry a 40 lb large trout at level 30 with sharp and fire. BAMM they just got fish slapped. Sorry off topic.
I will install a different enchant system to see it that will provide different results.
again thank-you and please keep up the good work, I only hope my stupidity does not spread
@Jo11yWombat
I'm not sure. Would you mind testing it for me? I'm pretty busy right now.
Does this plugin work with PEX?
@TheRealNovus
Thanks :D
@Jarrett78
I'll see what I can do.
Support with Diablo Drops? http://dev.bukkit.org/server-mods/diablodrops/
@broluigi
Partial support in 1.2.3, theres still some bad bugs in it though so I don't recommend trying it yet.
1.2.3 still needs to be approved by a moderator.
yes! rpgitems support!
UPDATE:
Version 1.2.3 has just been posted! Quite a few changes on this one. Now, you can use any SuperPerms-based permissions plugins (or the bukkit permissions.yml) to give permissions for different weapons groups! Permissions is disabled by default, so open up config.yml and set either or both of the permissions settings to true, depending on what you need.
For the next update, there's a few things I really want to focus on:
RPG Items Support - RPG Items is a great plugin and I really want to make it work with WeaponLevels. As of 1.2.3, you can now gain levels with items from RPG Items. However, there's a bug where if you break a block with the item it will remove all WeaponLevels stats, so that's a big problem. I'm still trying to work it out as soon as possible, and once I do, I'll be able to add all sorts of other features to integrate with RPG Items.
Custom Groups - Right now, there's only 5 groups for each type of item. I'd really like to change it so that admins can make their own groups, and have as many as they want. This would open up a lot more options, such as item prefixes and other fun stuff. I'm definitely going to get this working for 1.2.4.
EXP Level Curve - The way WeaponLevels works doesn't allow for less than 5 EXP per hit/kill even if you set it in the config. Its complicated to explain why, but this is a limit due to the way item metadata works. However, I have begun thinking of a way to allow for a level curve so that it isn't so easy to level up: Random-based exp. I still have to fully flesh-out the idea, but basically it will only give exp randomly, with the percent chance decreasing as you get to higher levels. So, for example, at level 5 you have a 90% chance of gaining experience by hitting enemies, making it pretty easy to level up. But at level 30, you only have a 40% chance of gaining experience, making it take a lot longer to level up. This will all be configurable of course.
Triangles - If you've been with WeaponLevels for a while, you'll know that there used to be an asterisk (*) after the names of items that have level data. Since I picked up the project, I noticed that people didn't like this asterisk, so I removed it and instead put a triangle (â–²) before "Level" and "EXP". The reason these symbols are there are so that I know that the item has data with WeaponLevels. However, I have learned a new way to do it and these symbols actually aren't needed. The next version will not use these triangles, so I will create a converter that will check for triangles and remove them from any items that do have them. I apologize for placing them there in the first place.
This doesn't work with crackshot, could you either make this permission based, or make it work with crackshot please?
@tommygoesha
I'd love to increase attack speed but unfortunately thats client-based. I think I might be able to do something with the powerups like from potions but I have to look into that. It will likely be possible in the future though. Crafting will be coming soon.
@antichip
Yes, I'm gonna be working on hooking into a lot of plugins. At the moment I'm trying to get it to work with RPGItems, but they don't play very nice with each other at the moment. Still trying to get it all figured out.
@Makemyday17
Permissions are done and will be in the next update!
@Darkandro
What kind of Heroes support are you asking for?
@farleyman2
Thats strange, tools work fine for me. What plugins are you running with it? And no there's no commands in the current version, I'll go ahead and add a command in for the next update now that I have permissions.
@donald1440
I will be adding support for mcmmo in the future.
@Mr_Wired
Nope, thats the plugin's fault. Leveled items cannot be repaired at the moment, but I'm working on it. Its kinda complicated to implement. If players have high level items, just tell them to store them in a chest until I get repairing to work.
For some reason I can't repair these items, am I doing something wrong?
Support for mcmmo?
Question, when I try to level up tools or armor, they only way I can gain any xp with them is by attacking mobs instead of say mining with the pickaxe or getting hit with the armor on... is this intended? Also are there any console commands to allow an OP on my server to automatically add levels or set a specific level? Im running the CB 1.5.2 ver.
*edit* ive also noticed that the swords arent getting any xp at all
pls add Heroes support
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!
It may also be worth looking into hooking to the major jobs plug-ins, , just nice to see, say a level 4 blacksmith make better weapons that level 1.either way it is good work and fast responses.