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 May 27, 2012@Ratkoon
Ooh... maybe. I'm leaving tomorrow for 4 weeks, though :/ I'm definitely adding that to the list.
-
View User Profile
-
Send Message
Posted May 26, 2012Is there a way you could change the durability of a weapon? Like gold to be equal with iron.
-
View User Profile
-
Send Message
Posted May 26, 2012@Ratkoon
It's a security hazard, really. If the server can send code to the client, a virus could be hidden in that code, so it would be dangerous to allow the server to control the client. That said, more could be done server side, such as determining armor points, but this would require a standardized communication system, which requires client side mods. Also, this would increase the amount of data flowing, which could cause lag.
-
View User Profile
-
Send Message
Posted May 26, 2012@falsevacuum
So basically for the armor bar to respond and tell the client the real armor value I would need spout? That's unfortunate considering 90% of the mine craft community is dumb as a box of rocks and even though gold is buffed they will see the armor bar and cry. Willing to buy minecraft API mojang!
-
View User Profile
-
Send Message
Posted May 25, 2012@blabbicus
If you could send me the exact error, that'd be great. Either screenshot it (press the print screen button. On Windows, it goes to the clipboard and must be pasted into paint) and upload the image to a file/image sharing site, or copy it (for consoles, you usually have to right click and choose edit) and paste it to a paste bin site, such as www.pastie.org.
The plugin should work without any permissions system, as far as I'm aware (in my own tests, it did). The permission is automatically applied to everyone.
@ultimateowner56
That's correct. "true" means everyone, "false" is no one, "op" is ops, and "no-op" is everyone but ops.
-
View User Profile
-
Send Message
Posted May 25, 2012@ultimateowner56 The problem is the plugin wont even INITIALIZE without the node being accepted by some sort of permissions for me. I get an error saying the node cannot reach permissions or something like that.
-
View User Profile
-
Send Message
Posted May 25, 2012@blabbicus
"I added a node for output damage changed, vacuum.changedamage.damage. It is set to true by default."
Not sure but I think everyone gets the 'node' automatically.
-
View User Profile
-
Send Message
Posted May 25, 2012Hello, this plugin looks perfect except for the fact that it will not work for me without permission nodes. I run a server but I do not want permissions. I feel too many people just try to earn ranks and stuff instead of focusing on playing the game and me and my few Ops can run the server just fine without any ranks. Is there anyway I can get this to work without permissions? I would REALLY love it if it could.
-
View User Profile
-
Send Message
Posted May 25, 2012@falsevacuum
Kk.
-
View User Profile
-
Send Message
Posted May 24, 2012@ultimateowner56
I don't see how that would trigger it. There's a check to see if the entity that damaged is an arrow, and only then can it reach line 72, where the null pointer exception occurs. I can send you a debugging build, if you want.
-
View User Profile
-
Send Message
Posted May 24, 2012@falsevacuum
I've tried to see what causes the error. I think it just appears randomly. It isn't triggered when people attack eachother which is what I thought it might be. And for the "null" message. It showed that in my console when someone tried to punch another player I think, cause I didn't have 0: -1 in the config. Not 100% sure.
-
View User Profile
-
Send Message
Posted May 24, 2012@ultimateowner56
I'm glad it works :D The issue's caused by arrows, it seems. I'm not sure what's null, though. If you want, I can investigate further, but I would need you help. Do you know what causes it?
-
View User Profile
-
Send Message
Posted May 24, 2012@falsevacuum
Awesome! Got it working. Love you. One thing, getting this error. Plugin works just fine but error spams console occasionally. This: http://pastebin.com/y9ay3Z6z
-
View User Profile
-
Send Message
Posted May 24, 2012@ultimateowner56
I posted a new file, version 1.3.9 (most of the revisions were for potions, but, sadly, those don't work). It's under revision. Seeing as it's not too late, it should only take an hour or so to pass. Bukkit's really unreliable though (they have lives too), so it might be 1 minute or 15 hours.
I added a node for output damage changed, vacuum.changedamage.damage. It is set to true by default. Set it to false for those that do not receive the changes.
The new release may have some hints of potion support. Don't get your hopes up, it's still in testing (and not working). I think I removed everything potion related.
Armor changes simply cannot be done the way I've implemented it, sorry.
Edit: Lovely :D It's up!
-
View User Profile
-
Send Message
Posted May 24, 2012@falsevacuum
I've been making them use iron sword, but it dies too fast, and it's actually a bit annoying to get iron swords rather than diamond which everyone has plenty of. The problem also arises that anything below diamond enchants easier. (you get more out of your levels) I'd just like everyone to use diamond. Thanks if you do add the perm nodes. :D
-
View User Profile
-
Send Message
Posted May 23, 2012@Ratkoon
Minecraft servers are split into two parts: client and server. The client handles rendering and some extrapolation of position. The client is run on the player's machine. One of the client's jobs is to render the armor bar, which it does based on its database. The server, however, handles damage. When armor values are changed on the server but not the client, the damage changes, but the armor points doesn't.
Basically, it does affect damage: try pumping up an armor piece to 25, wearing nothing else, and let a hoard of creepers loose on you.
Also, you don't need to define everything. If you don't define something, it will remain at default.
-
View User Profile
-
Send Message
Posted May 23, 2012I've done some testing with your armor values. They don't seem to effect the in game armor bar. I haven't actually seen if they effect the value but the armor value is as follows:
Leather full: 3.5
Chain: 6
Iron: 7.5
Gold: 5.5
This is regardless of what I set the configuration to:
pvponly: false
verbose: false
damages:
default:
armor:
default:
GOLD_HELMET: 3
GOLD_CHESTPLATE: 6
GOLD_LEGGINGS: 5
GOLD_BOOTS: 3
IRON_HELMET: 2
IRON_CHESTPLATE: 5
IRON_LEGGINGS: 4
IRON_BOOTS: 2
CHAINMAIL_HELMET: 2
CHAINMAIL_CHESTPLATE: 4
CHAINMAIL_LEGGINGS: 3
CHAINMAIL_BOOTS: 1
LEATHER_HELMET: 1
LEATHER_CHESTPLATE: 3
LEATHER_LEGGINGS: 2
LEATHER_BOOTS: 1
-
View User Profile
-
Send Message
Posted May 23, 2012@nhoclesnar
Bare hands is item ID 0, but this won't cover if you have an item in your hand (e.g. a grass block). You can define all 5 swords (wood, stone, iron, gold, diamond), then set a default, which will be everything not covered. In that case, it would be bare hands.
@ultimateowner56
Would it work to have some use gold sword, some iron, some diamond, and just set, for example, gold and iron output to 9, and set the diamond output to 5? If not, I'll add in permissions nodes.
-
View User Profile
-
Send Message
Posted May 23, 2012@falsevacuum
I have it so that every class uses the same melee weapon, if they use a melee weapon. (dia sword)
-
View User Profile
-
Send Message
Posted May 23, 2012Can I change the damage bare-handed does as well?