ChangeDamage
ChangeDamage by FalseVacuum
NOTE: I don't play MineCraft anymore. Please don't ask for new features. They're not going to happen.
Sorry guys, updates are *very* slow! I don't play MineCraft, and I'm super busy with other things. I do enough coding every day.... I would be thrilled to have someone to which to pass on the torch!
Up for takeover! PM me for details.
Features
- Item/weapon damage
- Arrow damage
- Critical damage
- Strength effect
- Weakness effect
- Separate world configurations for damage output (all of the above features)
- Armor protection
- Fall damage (including armor protection during falling)
- Permission to decide if item/weapon damage changes based on the dealer. This also affects critical damage and the weakness and strength effects.
- Ability to configure item/weapon damage output for PvP only or for both PvP and PvE
- Default configuration so that you can avoid playing with things you don't understand yet.
- Responsive development team—I usually get back to you within 24 hours, and I get right on to bug reports.
- Open source
Overview
ChangeDamage is a plugin which allows you to change the damage an item does or the amount armor protects you. For example, you may want to make diamond swords more overpowered than they already are, increasing damage output to 20 (10 hearts). Or maybe you may want to nerf those OP diamond swords, so you decrease the damage output to 5 (2.5 hearts). Maybe, just for grins and giggles, you want the flower to do 200 damage. However you want it, that's how you can do it. You can also change the damage points of a piece of armor. You could buff the unobtainable chain armor, whilst nerfing the overpowered diamond armor!
So what ChangeDamage does is it allows you to change the damage output of any item. You can choose if this applies to PvP only or if this works for PvE. EvP will not be affected (for example, Zombie Pigmen's gold sword's damage output will be constant). It also changed the damage points of a piece of armor.
Commands
The current commands are:
- /changedamage reload - Reload the plugin
- /changedamage release - Disable the plugin (unload it, so you can remove it/replace it)
Future commands may include options to modify damage output of weapons from commands instead of from the text file
Config
- pvponly - true/false - If false, ChangeDamage will affect player versus entities (PvE) in addition to PvP. If true, ChangeDamge will only affect PvP
- verbose - true/false - If true, ChangeDamage will send you all sorts of useless spam messages that help me debug issues. Don't set this to true unless you know what you are doing.
- research - true/false - If true, ChangeDamage will occasionally print out some notes for me. Please report these notes if you get them. They will be marked "[ChangeDamage] [Research]" and will appear in the console. This is to investigate the possibility of adding critical hit support.
- damages - See "Damages", then see "Projectiles"
- armor - See "Armor Points"
- damages.expressions - Allows you to input an equation for how much damage a critical hit does. Variable 'n' is the amount of damage done by the player, rounded down to the nearest even number. Use the subnodes of "damages.expressions" "strength", "weakness", and "critical" to affect damage output for strength effect, weakness effect, and critical damage, respectively. See "Expressions"
- fall - Allows you to decide fall damage. Only activated when the player falls more than 3 blocks. Variable 'd' is the distance fallen, rounded down to the nearest integer. Variable 'a' is the total armor points of the player. Use node "fall.expression" to specify damage. See "Expressions"
Permissions
The permissions nodes for this plugin are:
- vacuum.changedamage - Gives access to /changedamage
- vacuum.changedamage.damage - Default enabled. Disable to make damage output changes not be affected for this player.
Upcoming features
Color scheme:
- In progress
- Suggested
- Completed
These are features I want to add but have not yet done so:
- Change durability
- Armor color
- Mob effects when wearing certain armors (maybe)
- Automatic updating
- Modify enchantment power
- Change potion power
- Potion effect when attacking
PLEASE make suggestions. If it's something easy, you can be sure to find it in the next update!
Bugs
Color scheme:
- Unresolved
- Resolved but not in the current version
- Resolved
Bugs:
- ClassCastException caused by killing Ender Crystals
- Cannot use non-armor pieces as armor (causes an error when falling)
- NPE in arrow calculation
- Arrow permissions weren't working
- Critical damage didn't work
- When performing a critical hit, damage output was reducing
- The fall damage expression was being read from the wrong node
Download
To download the Bukkit approved version, click the "Download" link on the top right hand side of the page.
To download stable versions click here.
-
View User Profile
-
Send Message
Posted Sep 9, 2012@Luxius96
Sorry, I'm not really maintaining this plugin anymore.
-
View User Profile
-
Send Message
Posted Sep 9, 2012Can you add a probability 1 ITEM hit a player get a potion effect? Nausea or other?
-
View User Profile
-
Send Message
Posted Sep 2, 2012@uuuu5
By the way, to Luxius96's point, no, I don't think the armor point are working (even with just one armor piece it hasn't worked for me).
-
View User Profile
-
Send Message
Posted Sep 2, 2012pvponly: false verbose: false damages: default: 286: 10 283: 10 expression: critical: i i 2 / 2 + rand * fl + weakness: i 2 w << - strength: i 3 s << + armor: default: LEATHER_CAP: 18 fall: expression: d 3 - a 0 * + potion: '0': {}
Here, I was trying to make ID286 and ID283 both do 10 damage (5 hearts, I think?) I put two spaces in between the two weapon damages - do I need more spaces, or less?
-
View User Profile
-
Send Message
Posted Sep 2, 2012@uuuu5
Can post your config, please? I'll fix it for you.
-
View User Profile
-
Send Message
Posted Sep 2, 2012@falsevacuum
Sorry, but would you mind showing me an example to put in the config? I understand that I need to put different IDs for each weapon/tool, but how many spaces do I put in between each ID? I've tried everything from 0 to 4 spaces between each, and so far it isn't working...
-
View User Profile
-
Send Message
Posted Sep 2, 2012@uuuu5
id1: damage1
id2: damage2
etc.
@Luxius96
http://vacuum-changedamage.googlecode.com/svn/trunk/resources/jars/ -> Experimental
-
View User Profile
-
Send Message
Posted Sep 2, 2012Where is the update? :(
-
View User Profile
-
Send Message
Posted Sep 1, 2012How do you add more than one weapon to change? I can only figure out how to change the damage of one weapon at a time...
-
View User Profile
-
Send Message
Posted Aug 23, 2012@Luxius96
Don't armor points work? It doesn't visually look like they work, but the calculations should be just fine. If they don't, PLEASE let me know.
-
View User Profile
-
Send Message
Posted Aug 23, 2012hi falsevacuum working the armor points?
-
View User Profile
-
Send Message
Posted Aug 20, 2012@lucoatom
If the player doesn't have the vacuum.changedamage.damage permission, don't apply damage modifications.
This is nice if you want to have two tiers of players, one with damage augments/handicaps and one with standard damage
This permission is true unless turned off.
-
View User Profile
-
Send Message
Posted Aug 20, 2012What exactly does the 'vacuum.changedamage.damage' permission do? I'm confused =/
-
View User Profile
-
Send Message
Posted Aug 19, 2012I re-download 1.7e
now no spam
I'm sorry is my fault.
-
View User Profile
-
Send Message
Posted Aug 17, 2012@Zefram
Oh, I probably didn't completely fix the hooks for 1.3.1
Edit: are you SURE you're using 1.7.E? I checked my code and I see no way that error could exist.
I also verified, and it works for me.
-
View User Profile
-
Send Message
Posted Aug 17, 2012bukki 1.31
plugin 1.7E
Could not pass event EntityDamageByEntityEvent to ChangeDamage
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
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.event.CraftEventFactory.callEvent(CraftEventFactory.java:80)
at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:364)
at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:386)
at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:591)
at net.minecraft.server.EntityMonster.damageEntity(EntityMonster.java:38)
at net.minecraft.server.EntityHuman.attack(EntityHuman.java:762)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:969)
at net.minecraft.server.Packet7UseEntity.handle(SourceFile:36)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:281)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:125)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.NoSuchMethodError net.minecraft.server.EntityPlayer.t()Z
at vacuum.changedamage.listener.DamageListener.applyEffects(DamageListener.java:285)
at vacuum.changedamage.listener.DamageListener.entityDamaged(DamageListener.java:202)
at vacuum.changedamage.listener.DamageListener.entityDamagedNORMAL(DamageListener.java:130)
at sun.reflect.GeneratedMethodAccessor112.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:330)
... 20 more
-
View User Profile
-
Send Message
Posted Aug 15, 2012@codydbgt
PM'd
-
View User Profile
-
Send Message
Posted Aug 15, 2012i looked at the source......so complex ......i was wondering if this ignores enchantments?
also wondering if i could ask a few questions if you wouldn't mind on Skype?
Pm if this is at all possible.
-
View User Profile
-
Send Message
Posted Aug 8, 2012@Gemil01
Excellent :D
Also, the error was caused by armor. What was happening was two things were trying to get the same information about armor at the same time, which caused an error. Then ChangeDamage found the error and tried again... and again... and again, etc. That was the problem.
-
View User Profile
-
Send Message
Posted Aug 7, 2012@falsevacuum
my error was from 1.7.D
i downloaded 1.7.E : Error is gone and damages seems to be working perfect (incl. projectiles (tested with snowballs)). i didn't tested the armor section yet.