Inactive [MECH/ADMN] ModDamage - Change damage mechanics on the fly!

Discussion in 'Inactive/Unsupported Plugins' started by KoryuObihiro, May 20, 2011.

  1. Offline

    KoryuObihiro

    ModDamage
    We've moved to BukkitDev!
     
  2. Offline

    KoryuObihiro

    Update for everybody: planning on releasing at least another RC tonight, will include the following features:
    • EntitySpawn Calculation
    • Numerous NPE fixes
    • node name case insensitivity
    • Cleared up several damage cause problems with EntityHurt - changed it so that the other entity is used as the attacker when you apply it. For some reason, a lot of cases seem to result in a "Monster" attack - I'll look into this.
    • PermissionsBukkit support
    Sorry for not releasing yesterday - life's had a rather crazy schedule, with a scheduling transition from full-time job to getting ready for another crazy semester. Whether or not this release will actually be 0.9.5 (and not just another RC) depends entirely upon whether I can finish the tutorials for the new material. More details will be forthcoming when I'm not hurriedly maintaining IRL stuff.
     
    Terra-Network.org likes this.
  3. Offline

    KoryuObihiro

    FINALLY. Critical docs are finished. And now 0.9.5 is released. :D

    PermissionsBukkit support has been added, though it's largely untested. Need feedback on this!
     
  4. Offline

    MJE

    @KoryuObihiro

    Any luck? Still cannot do worlds other than world and nether....
     
  5. Offline

    KoryuObihiro

    Try doing the reload ("/md r" or "/md reload") command from console or ingame after you start up the server.
     
  6. Offline

    MJE

    I just tried, it appeared to load without errors but it did not use the damage settings.
     
  7. Offline

    KoryuObihiro

    Sent you a PM. Let's see if we can't fix this.
     
  8. Offline

    Devok

    I don't have the spawn controlling option in my config file. and setting mob health to "0" does nothing
     
  9. Offline

    KoryuObihiro

    When you do '0', by definition nothing happens - an integer is the Addition routine. x + 0 = x.

    Why not read the first few paragraphs of the tutorial, and then see if you can't solve the problem, hmm?
     
  10. Offline

    lucent

    Hey Koryu,

    I'm finding that everything seems to work - except my groups! I'm using Permissions 3.1.6, and it seems to be any nodes nested under 'switch.attacker.group'. I'm using the same config file that was working for the beta version :(
     
  11. Offline

    KoryuObihiro

    Hmmm...do you have PermissionsBukkit installed too? I haven't really changed much code, though my control branching might be off. I'll take a look.
     
  12. Offline

    lucent

    Nope. Just using Permissions - do I need PermissionsBukkit? I've been stubborn about really looking at it, mostly for the fact of laziness...
     
  13. Offline

    KoryuObihiro

    Sounds like it's my fault, then. I'm wandering campus right now trying to find someplace I can debug it in peace. And without starving. **stomach grumbles**

    @lucent Could I ask you to be more descriptive? Console output, config.yml, server setup, symptoms, etc.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  14. Offline

    lucent

    I can post configs and server stuff, but I'll have to do it later when I'm at home. There were no console messages - it just didn't seem to be catching the events. Maybe it's best to ignore me, about it, for a while, and I'll keep playing with. I tried several things thinking that I screwed something up and couldn't figure it out... I'll mess around with it a bit more before wasting more of your time (it's still quite possible that I botched something).
     
  15. Offline

    KoryuObihiro

    LOL, don't worry about it. I'll let you know if I feel like you're wasting my time. Erstwhile a misunderstanding is something I'm perfectly qualified to assist you with, so... ;) Just sayin'.
     
  16. Offline

    lucent

    Alright, so I guess I do need your help. Using CB 1060, Permissions 3.1.6, most recent ModDamage, and my monitoring plugin. My ModDamage configuration is as follows (relevant lines are the first 20'ish):

    Code:
    debugging: normal
    Damage:
        - 'if attacker.wielding._sword':
            - '2'
        - 'switch.event.world':
            world:
                - 'if attacker.wielding._sword':
                    - '2'
                - 'switch.attacker.group':
                    Paladin:
                        - 'if attacker.wielding._sword':
                            - '2'
                        - 'if target.type._undead':
                            - '5'
                - 'switch.target.group':
                    Paladin:
                        - 'if attacker.type._undead':
                            - '-1'
                            - 'if binom.80':
                                - 'set.0'
                                - 'message.target.A deity shields you from the undead.'
                - 'switch.attacker.type':
                    Skeleton:
                        - 'set.3'
                        - 'if binom.30':
                            - 'targeteffect.explode':
                                - '2'
                                - 'message.target."You are struck by an explosive arrow!"'
                    Zombie:
                        - 'set.4'
                        - 'if !target.group._zombhunt and attacker.health.lessthan.60':
                            - 'attackereffect.heal': '15'
                    Wolf:
                        - 'set.2'
                        - 'if binom.40':
                            - 'range.1.3'
                    Spider:
                        - 'range.2.4'
                    ZombiePigman:
                        - 'if !target.group._zombhunt and attacker.health.lessthan.40':
                            - 'attackereffect.heal': '4'
                    NPC:
                        - 'set.3'
                        - 'if binom.20':
                            - 'mult.2'
                            - 'message.target.You suffer a critical blow!'
    Spawn:
        - 'switch.target.type':
            Spider:
                - 'range.18.22'
            Zombie:
                - 'range.18.22'
            Skeleton:
                - 'range.18.22'
            Creeper:
                - 'range.18.22'
            ZombiePigman:
                - 'range.18.22'
            Wolf:
                - 'range.8.12'
    Aliases:
        Group:
            zombhunt:
                - 'Zombie Hunter'
            blast:
                - 'Blast Tech'
        Armor:
            heavy:
                - 'IRON_HELMET'
                - 'IRON_LEGGINGS'
                - 'IRON_CHESTPLATE'
                - 'IRON_BOOTS'
                - 'DIAMOND_HELMET'
                - 'DIAMOND_LEGGINGS'
                - 'DIAMOND_CHESTPLATE'
                - 'DIAMOND_BOOTS'
                - 'GOLD_HELMET'
                - 'GOLD_LEGGINGS'
                - 'GOLD_CHESTPLATE'
                - 'GOLD_BOOTS'
                - 'CHAINMAIL_HELMET'
                - 'CHAINMAIL_LEGGINGS'
                - 'CHAINMAIL_CHESTPLATE'
                - 'CHAINMAIL_BOOTS'
            allarmor:
                - 'IRON_HELMET'
                - 'IRON_LEGGINGS'
                - 'IRON_CHESTPLATE'
                - 'IRON_BOOTS'
                - 'DIAMOND_HELMET'
                - 'DIAMOND_LEGGINGS'
                - 'DIAMOND_CHESTPLATE'
                - 'DIAMOND_BOOTS'
                - 'GOLD_HELMET'
                - 'GOLD_LEGGINGS'
                - 'GOLD_CHESTPLATE'
                - 'GOLD_BOOTS'
                - 'CHAINMAIL_HELMET'
                - 'CHAINMAIL_LEGGINGS'
                - 'CHAINMAIL_CHESTPLATE'
                - 'CHAINMAIL_BOOTS'
                - 'LEATHER_HELMET'
                - 'LEATHER_LEGGINGS'
                - 'LEATHER_CHESTPLATE'
                - 'LEATHER_BOOTS'
        Element:
            undead:
                - 'Skeleton'
                - 'ZombiePigman'
                - 'Zombie'
            inyourheadzombieZOMBIE:
                - 'ZombiePigman'
                - 'Zombie'
        Item:
            golden:
                - 'GOLD_AXE'
                - 'GOLD_HOE'
                - 'GOLD_PICKAXE'
                - 'GOLD_SPADE'
                - 'GOLD_SWORD'
            axe:
                - 'WOOD_AXE'
                - 'STONE_AXE'
                - 'IRON_AXE'
                - 'GOLD_AXE'
                - 'DIAMOND_AXE'
            hoe:
                - 'WOOD_HOE'
                - 'STONE_HOE'
                - 'IRON_HOE'
                - 'GOLD_HOE'
                - 'DIAMOND_HOE'
            pickaxe:
                - 'WOOD_PICKAXE'
                - 'STONE_PICKAXE'
                - 'IRON_PICKAXE'
                - 'GOLD_PICKAXE'
                - 'DIAMOND_PICKAXE'
            spade:
                - 'WOOD_SPADE'
                - 'STONE_SPADE'
                - 'IRON_SPADE'
                - 'GOLD_SPADE'
                - 'DIAMOND_SPADE'
            sword:
                - 'WOOD_SWORD'
                - 'STONE_SWORD'
                - 'IRON_SWORD'
                - 'GOLD_SWORD'
                - 'DIAMOND_SWORD'
            weapon:
                - '_axe'
                - '_hoe'
                - '_pickaxe'
                - '_spade'
                - '_sword'
    
    Also, just in case, the relevant permissions (though I do believe they're working):

    groups (open)

    groups:
    Default:
    default: true
    info:
    prefix: ''
    suffix: ''
    build: true
    inheritance:
    permissions:
    - therunningman.starring.arnoldschwarzenegger
    - fragile.glass
    - eggsplode.boom
    - bonuses.*
    - buttonwarp.use
    - mcmmo.ability.*
    - MobBounty.mb
    - mcmmo.skills.*
    - money2xp.user
    - mobarena.classes.*
    - mobarena.use.*
    - mobarena.arenas.*
    - phatloots.use
    - mcmmo.commands.*
    - magicspells.cast.list
    - magicspells.grant.list
    - magicspells.cast.help
    - magicspells.grant.help
    - magicspells.grant.lesser-heal
    - magicspells.grant.lesser-shield
    - magicspells.grant.lesser-healother
    Paladin:
    default: false
    info:
    prefix: ''
    suffix: ''
    build: false
    inheritance:
    permissions:
    - magicspells.cast.lesser-heal
    - magicspells.cast.lesser-shield
    - magicspells.cast.lesser-healother


    users (open)

    users:
    lucentbeam:
    permissions:
    groups:
    - Default
    - Paladin


    And finally, a shot of a slash with the sword (9 + 2 + 2 damage shown, lacking the paladin bonus):

    [​IMG]

    No console output. No messages of configuration issues at startup/reload. :(
     
  17. Offline

    KoryuObihiro

    You're sure the Perms indentation is correct? I can't see what the original formatting was - no CODE block. :(

    I can't see anything wrong with your config, but the point is moot if MD's not loading. PM me - let's see what we can do.
     
  18. Offline

    Ranzear

    On server startup:
    Code:
    2011-09-01 01:11:36 [INFO] Conditional: "if event.world.Limbo and !attacker.type.void"
    2011-09-01 01:11:36 [INFO]     Routine: "set.0"
    2011-09-01 01:11:36 [INFO]     CalculatedEffect: "targeteffect.setfireticks"
    2011-09-01 01:11:36 [INFO]         Routine: "0"
    2011-09-01 01:11:36 [SEVERE] No matching World alias or value "Limbo"
    2011-09-01 01:11:36 [SEVERE] Error: bad statement "event.world.Limbo"
    2011-09-01 01:11:36 [SEVERE] Invalid Conditional "if event.world.Limbo and !attacker.type.void"
    2011-09-01 01:11:36 [SEVERE] Error in DAMAGE configuration.
    2011-09-01 01:11:36 [INFO] SPAWN configuration:
    On /md reload:
    Code:
    2011-09-01 01:11:59 [INFO] Conditional: "if event.world.Limbo and !attacker.type.void"
    2011-09-01 01:11:59 [INFO]     Routine: "set.0"
    2011-09-01 01:11:59 [INFO]     CalculatedEffect: "targeteffect.setfireticks"
    2011-09-01 01:11:59 [INFO]         Routine: "0"
    2011-09-01 01:11:59 [INFO] End DAMAGE configuration.
    2011-09-01 01:11:59 [INFO] SPAWN configuration:
    Works fine after. Doubleyew Tee Eff?

    Worse, if I apply the same to my Unlimbo world, it doesn't properly detect 'void' damage in this case and just lets people fall forever. Fire tick reset works, just doesn't allow void (or anything, which is normal) to kill people on worlds with that enabled.

    Aha! I see this is why. Nevermind I guess. Try to delay moddamage until after all other mods maybe? I've added Z's to the beginning of a plugin name to achieve that, but there has to be a setting or loadorder option for plugin devs...

    ... and then my server exploded with the following, this is only the last one and only like the first quarter of it (too long for a bukkit.org post), and the trace just seems to go on forever otherwise. It happened when using my epic shears/straightrazor, on another player, that deals 'hurt' damage so it shows up as an unknown damage type.

    Code:
    2011-09-01 01:22:36 [SEVERE] Could not pass event ENTITY_DAMAGE to ModDamage
    java.lang.StackOverflowError
        at java.security.AccessController.doPrivileged(Native Method)
        at java.io.PrintWriter.<init>(Unknown Source)
        at java.io.PrintWriter.<init>(Unknown Source)
        at org.bukkit.craftbukkit.util.ShortConsoleLogFormatter.format(ShortConsoleLogFormatter.java:54)
        at java.util.logging.StreamHandler.publish(Unknown Source)
        at java.util.logging.ConsoleHandler.publish(Unknown Source)
        at java.util.logging.Logger.log(Unknown Source)
        at java.util.logging.Logger.doLog(Unknown Source)
        at java.util.logging.Logger.log(Unknown Source)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:358)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
        at org.bukkit.plugin.java.JavaPluginLoader$59.execute(JavaPluginLoader.java:656)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:427)
        at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:180)
        at org.bukkit.craftbukkit.entity.CraftLivingEntity.damage(CraftLivingEntity.java:181)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.Calculation.EntityHurt.run(EntityHurt.java:23)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.RoutineObjects.ConditionalRoutine.run(ConditionalRoutine.java:38)
        at com.KoryuObihiro.bukkit.ModDamage.ModDamageEntityListener.onEntityDamage(ModDamageEntityListener.java:49)
    ...
    
    Some relevant config sections:
    Code:
                - 'if attacker.wearingonly.CHAINMAIL_HELMET*CHAINMAIL_CHESTPLATE*CHAINMAIL_LEGGINGS*CHAINMAIL_BOOTS':
                    - 'if event.time.greaterthan.2000 and event.time.lessthan.10000': #Day
                        - 'if binom.30 and target.exposedtosky':
                            - 'attackereffect.addfireticks': '27'
                    - 'if event.time.greaterthan.14000 and event.time.lessthan.22000': #Night
                        - 'if attacker.sneaking': '2'
                        - 'if binom.60 and event.value.greaterthan.2 and attacker.health.lessthan.20':
                            - 'attackereffect.heal': 'roll.4'
    
    
    
        - 'if attacker.wielding.SHEARS': #Shears look like razors on my server, so we make them a ninja weapon that gives 'unknown' death type.
            - '-1'
            - 'if event.value.greaterthanequals.1': #Will only occur if you score enough damage bonus from armor to hit your target for damage, which is at least +6 and considers their damage reduction too. Only gold and chainmail pull this off.
                - 'targeteffect.Hurt': '16'
                - 'targeteffect.Hurt': 'roll.4'
                - "message.attacker.Assassination!"
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  19. Offline

    KoryuObihiro

    So, I could go into a lengthy explanation behind a StackOverflow error, but essentially it indicates you're hitting some very long (read: almost certainly infinite) looping conditions in your config. Every time you use the Hurt routine, it generates another Damage event - which, I might add, has been fixed so that the other entity involved is used as the attacker. Thus your loop conditions. Try removing or changing it, and see if that doesn't do anything. I suppose it's more than viable to simply add another routine with the old behavior - adding to issue tracker.
     
  20. Offline

    BIGmouth2347

    Hi I have a request for this pluggin which I think would make it even more amazing, and is necessary for many servers. Could you add to the code so that damage control can be adjusted to a certain area on the map/server? ie in one 15 x 15 section of the map no one can take damage from anything but outside of there damage is normal.
    Please consider and respond. Thanks!
     
  21. Offline

    KoryuObihiro

    Any region-based plugins you suggest? Currently elRegions has been planned for 0.9.6 - it seems to be a pretty nice backend for doing this sort of stuff.

    In the meantime, you could always use World statements and Coordinate Comparisons to do this sort of evaluation - obviously this means you can only do cuboid regions, though.
     
  22. Offline

    Ranzear

    Yup, that's easy to fix. A lot of my potential loops are broken by if binom statements.
     
  23. Offline

    BIGmouth2347

    Sorry im kind of a noob at this kind of thing... are you saying that using world statements or coordinate comparisons in conjunction with this pluggin would allow damage control only in certain area? thanks
     
  24. Offline

    lucent

    Actually, he's saying that he has coordinate comparisons built in to this plugin already. If you go under the heading of "routines" and then "conditional" at the wiki, there's a link to using the coordinate comparison syntax (and world comparison). But I certainly understand that it's easier to learn by example, especially at first, so I'll throw out how I would do it:

    Code:
    Damage:
        - 'if attacker.Y.greaterthanequals.40 and attacker.Y.lessthanequals.80':
            - 'if attacker.Z.greaterthanequals.20 and attacker.Z.lessthanequals.50':
                - 'if attacker.X.greaterthanequals.20 and attacker.X.lessthanequals.50':
                    - 'if attacker.type.Skeleton':
                        - '200'
    
    Of course you can make that one gigantic line, linking things together with 'and,' but the above should pretty clearly represent an XYZ cuboid, by stepping through Y, then Z, then X. The last part means that you don't want to encounter skeletons in that area.
     
    BIGmouth2347 and KoryuObihiro like this.
  25. Offline

    KoryuObihiro

    Whoops. Had @lucent point out to me that I'd borked the old Perms plugin support (ONE WORD... ;_;). gonna fix this after I do some thinking about fixing the irritating multiworld issue. In the meantime, I really would suggest to others to move over to a SuperPerms-based permissions plugin - currently MD also support PermissionsBukkit, with more plugins to be added.

    Perhaps I can add them with the patch release? Hmm....
     
  26. Offline

    BIGmouth2347

    ahhh okay. thanks so much!
     
  27. Offline

    KoryuObihiro

    Okay, everybody, I've got a massive update list for the features that will be integrated into 0.9.6:
    • Routine aliasing
    • Region aliasing (see below)
    • UnknownHurt routine
    • Delay Routines
    • Dynamic integer references (Ranzear might like this)
    • Integration with the following plugins:
      • Regional (conditionals for being within regions):
        • WorldGuard
        • elRegions
      • Permissions:
      • McMMO - will post a relevant issue in the tracker soon, have already contacted the author about this and will have this for certain.
      • MobArena - also will post when more details are worked out with the author.
    • New event stuff:
      • ProjectileHit event.
      • "projectile" entity reference.
      • Tame event - currently the "attacker" is the tamer, and the "target" is the Wolf.
    USERS OF WORLDGUARD, MCMMO, and MOBARENA: this is your chance to suggest integrations that you think would be useful!

    @Ranzear, @lucent - you two always have valuable input. Just sayin'. :p

    I know it's been awhile since I've updated the thread, but I hope that the features list will more than compensate for the wait! As always, any feedback you have to offer is appreciated.
     
    Terra-Network.org likes this.
  28. I understand it, we all waited for 1.8 and why put a lot of work into a plugin, when nobody knows, if the features will still work ;)
    Nice ToDo-list, can't wait for it :D
     
    KoryuObihiro likes this.
  29. Offline

    Undectectable

    any chance anyone can get me their ready config, so i can edit it from there, im working on a hardcore survival server so thanks :p
     
  30. Offline

    KoryuObihiro

    o_0 Really?

    If you wanted a custom config, you could always just specify what you're looking for. At worst, I'll chastise you for being lazy.

    At best, I might write a config for you. :p
     
  31. Offline

    Undectectable

    Its more to do with the fact i fail at it :p and specifically its lowering the damage players do to mobs while upping the damage done to players by mobs. And also making it so players can do less ranged damage to each other. Finally i need fire to not hurt mobs, so they dont die in the day :L from there other things can be added, like helmets protect from explosives and boots protect from fall damage. If i just had an outline of how it works i could do it i just have no clue XD

    thanks :p

    And a config doing that would be at the least awsome :)

    i want to make that a spoiler so its not like im advertising my server, i just dont know how sorry

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016

Share This Page