ArmorWeight
ArmorWeight adds weight to your armor! Heavier armor makes the player more immovable and slower. Decide twice if you want that heavy but strong diamond armor or if that swift leather armor would be better.
Main Features
- Balance armor types! Strong armor now gets nerft by making the player slower and more immovable. Also, this increases the power of horses, as you keep your speed on them.
- More realism! Add realism to fights and duels on your server.
- More strategy! Tanky or good at escaping? Your players will have to decide and makeup strategies!
- No mods / use of potion effects needed!
- Fully configurable! Change every value and message for this plugin!
- Supports Forge items! Just add the mod Material names to the config file and it will just work! Mod armor tutorial
Commands
/weight [player] | Get the weight of a player |
/armorweight<help;reload> | Displays generic plugin help or reloads the plugin |
Showcase Video by Spencer Recor
Configuration
How weight works
- A "normal" Minecraft player weighs 100
- Less weight (e.g. 80) means lighter (= faster)
- More weight (e.g. 120) means heavier (= slower)
- Player weight = normal weight + armor weight
- A "normal" Minecraft horse weighs 500
- Horse weight = normal weight + rider (player) weight + armor weight
# The language chat: language: enUS # The weight of a player / horse wearing no armor playerWeight: 90 horseWeight: 400 # Enable / disable weight for players, horses, enchantments ... weightEnabled: armor: player: true horse: true horseRider: true enchantment: false # Enable / disable the speed (slowness) and knockback effect for players or horses effectEnabled: speed: player: true
playerCreative: false # for creative mode horse: true
amplifier: 1.0 # how strong speed should change
knockback:
player: true
amplifier: 1.0 # how strong knockback should change # A list of all enabled worlds enabledWorlds: - "*" # A star (*) will enable all worlds - "world" - "world_nether" - "world_the_end" armor: # The weight of a full armor for each material type # You may also use any item (e.g. "pumpkin", "player_skull") weight: leather: 10 gold: 40 chainmail: 20 iron: 30 diamond: 50 pumpkin: -10 # The percentage share of a certain piece in total weight of the armor share: helmet: 17 chestplate: 45 leggings: 25 boots: 13 enchantment: # Make sure to enable this in weightEnabled.enchantment if you want to use it # How much every enchantment level adds to the weight of a armor piece weight: # The weight for all enchantments not specified general: 3 protection: 5 unbreaking: 5 weightWarning: # Whether warnings should be displayed when players wear heavier armor (text configurable in lang.yml) enabled: true # How many seconds have to pass until another warning can be displayed cooldown: 10
Permissions
armorweight.weight.armor | Makes your weight be changed by armor |
armorweight.effect.speed |
Makes your movement speed change depending on your weight |
armorweight.effect.knockback |
Changes how you are knockbacked depending on how much you weigh (heavier players are knocked back less, lighter farther) |
armorweight.command.weight.getown | Allows you to display your current weight |
armorweight.command.weight.getothers | Allows you to display the current weight of other players |
armorweight.command.plugin.info | Allows you to display information about ArmorWeight |
armorweight.command.plugin.reload | Allows you to reload the configurations of ArmorWeight |
Source, JavaDoc, Buildserver, Maven, Documentation
You are free to make a plugin that uses ArmorWeight, but you have to credit me and link back to the plugin. Also, feel free to share your creations and send them to me!
Metrics
Since version 0.3.13 this plugin sends statistics data to bstats.org (respectively before 0.3.13 to mcstats.org). To disable this, set the value "metricsEnabled" config.yml to "false".
Cauldron Servers
If you get an exception regarding horse speeds on Cauldron, disable the horse speed effect.
Compatibility
ArmorWeight should work with all plugins that do not change the player or horse speeds. There are known compatibility issues when also having the plugin ZHorse installed. Disable the horse speed effect when using it.
If you encounter a plugin that is not compatible, please leave a comment I and will get to it.
ArmorWeight is compatible with:
- Thirst, making players with heavy armor more thirsty!
- Essentials
- NoCheatPlus
I can confirm ArmorWeight is working in "purpur-1.19-1735"
NOTE: This is not the whole config file, just parts that are worth sharing.
My Config File
weightEnabled:
armor:
player: true
horse: false #Disabled because horses throws errors
horseRider: true
enchantment: false
effectEnabled:
speed:
player: true
playerCreative: false
horse: false #Disabled because horses throws errors
amplifier: 1.0
armor:
weight:
netherite_helmet: 35 #Added and works great
netherite_chestplate: 55 #Added and works great
netherite_leggings: 50 #Added and works great
netherite_boots: 35 #Added and works great
Please update to 1.16.4, add netherite armor.
In reply to darutan92:
works in 1.17.1, you need to manually add netherite though.
netherite_helmet: 35
netherite_chestplate: 60
netherite_leggings: 50
netherite_boots: 40
Paste this in the armor tab in the config.yml
In reply to shxrmxn:
Does this plugin work for 1.18?
1.15.2 work but above I got this error(16.1). Thanks for reading :)
[15:45:13] [Server thread/INFO]: [ArmorWeight] Enabling ArmorWeight v0.3.16[15:45:13] [Server thread/INFO]: [ArmorWeight] Enabling ArmorWeight v0.3.16[15:45:13] [Server thread/INFO]: Created new configuration file config.yml from defaults.[15:45:13] [Server thread/INFO]: Created new configuration file lang.yml from defaults.[15:45:13] [Server thread/WARN]: [ArmorWeight] Failed to get NMS classes for modifing horse speeds. You are probably using the wrong version of the plugin. Install the latest version and reload the server.[15:45:13] [Server thread/WARN]: [ArmorWeight] The horse speed effect has been disabled.[15:45:13] [Server thread/WARN]: [ArmorWeight] Error log:[15:45:13] [Server thread/WARN]: java.lang.ClassNotFoundException: net.minecraft.server.v1_16_R1.IAttribute[15:45:13] [Server thread/WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101)[15:45:13] [Server thread/WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:96)[15:45:13] [Server thread/WARN]: at java.lang.ClassLoader.loadClass(Unknown Source)[15:45:13] [Server thread/WARN]: at java.lang.ClassLoader.loadClass(Unknown Source)[15:45:13] [Server thread/WARN]: at java.lang.Class.forName0(Native Method)[15:45:13] [Server thread/WARN]: at java.lang.Class.forName(Unknown Source)[15:45:13] [Server thread/WARN]: at com.zettelnet.armorweight.lib.darkblade12.ReflectionHandler.getClass(ReflectionHandler.java:28)[15:45:13] [Server thread/WARN]: at com.zettelnet.armorweight.WeightManager.initialize(WeightManager.java:593)[15:45:13] [Server thread/WARN]: at com.zettelnet.armorweight.ArmorWeightPlugin.onEnable(ArmorWeightPlugin.java:49)[15:45:13] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)[15:45:13] [Server thread/WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351)[15:45:13] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480)[15:45:13] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:491)[15:45:13] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:405)[15:45:13] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.MinecraftServer.loadWorld(MinecraftServer.java:438)[15:45:13] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.DedicatedServer.init(DedicatedServer.java:219)[15:45:13] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:810)[15:45:13] [Server thread/WARN]: at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164)[15:45:13] [Server thread/WARN]: at java.lang.Thread.run(Unknown Source)[15:45:13] [Server thread/INFO]: [ArmorWeight] Enabled successfully.
Could you also add extra weigh to shields? (While holding in both hands)
Like everyone else says, great idea for a plugin. One issue I quickly noticed though is sprint jumping will negate all armor weight effects. Is this intentional?
In reply to cluelesshobo:
Really awesome plugin, good for roleplaying or just adding a more interesting mechanic to the server. I have one suggestion.
When you're slowed down by heavy armor and receive the same amount of knockback, it can be a bit harder to fight. Perhaps have weight reduce knockback as well? (but also to a configurable multiplier/degree)? The PlayerVelocityEvent captures knockback velocity.
In reply to 0ct0ber:
In reply to Zettelkasten:
This plugin is really good ! It gaves to my server a big difference of taste for the armors :-) Thank you !
In reply to Fortepsai:
Hey guys, just wanted to let you know that NoCheatPlus is now compatible with ArmorWeight. Enjoy!
It does not seem to work properly when you shift click the armor on.
@broluigi
Right now, this plugin only works with the items players wear as armor in the armor slots. All other items will be ignored. Or what do you mean?
I have not looked into placeholders etc. but that sounds like a good idea to tackle.
Sadly, I don't have that much time for this plugin to make it a Spigot premium thingy, so that's that. I'll update it anyway, doing my best!
will you be updating this? I want to add item weights! For every item in my custom server.
And is it also possible to make it appropriately work with item stacks, and work with placeholders/featherboard or just experience bar/Action bar?
Dude, you should totally make this a spigot premium plugin!
@TiTech1
Give "skull_item" a try!
player_skull dosn't work
@Beebullbum
Glad you like it! I will do my best!