Inactive [FUN/MISC] BleedingMobs v3.5 - Make those mobs bleed [Craftbukkit-1.1-R2 dev]

Discussion in 'Inactive/Unsupported Plugins' started by Perdog, Jul 25, 2011.

?

Do you find this useful?

  1. Yes

    85.4%
  2. No

    14.6%
  1. Offline

    Perdog

    [​IMG]

    BleedingMobs
    Make your mobs bleed a little
    NOTE: Please use the BukkitDev site at: http://dev.bukkit.org/server-mods/bleedingmobs/
    That is also where all updates will be done from now on.
    Click on the 4th spoiler for the old post, not sure why there's a BB code glitch here.​
    old post (open)
    old post (open)
    old post (open)
    old post (open)

    BleedingMobs is a plugin I developed for my own server. It didn't seem right that those suckers weren't bleeding all over the place while I hacked them up with my sword. So I developed this, to make it a little more satisfying when I attacked mobs.
    This is also the first plugin I have ever developed, so expect there to be bugs. If you do find any bugs just leave a reply or Email me and I'll try to tend to the issue as fast as possible (I'm in college so I can't tend to the plugin at all times of the day). I hope you enjoy my plugin, please let me know if you like it and find it useful :)
    Screenshots:
    New screenshots will be up as soon as possible!​
    Videos:
    How to setup the config:
    I know there has been some confusion with the Config.yml, so here is something to help you guys out.​
    Code:
    // Maximum particles allowed in the world. Reduce this, if the server lags.
    max-particles: 200
    //When an entity dies.
    death:
        //On entity death, how much blood is dropped by the mob. Randomly selected between from and to.
        amount:        to: 35        from: 25
        //How long the stained ground stays before disappearing (in server ticks = 20/s).
        stain-life:
            to: 120
            from: 80
        //How long bone stays lingering around (in server ticks = 20/s).
        bone-life: 100    //Colour of the wool, 14 is red (obviously :P). http://www.minecraftwiki.net/wiki/Data_values#Wool
        wool-color: 14
        //Chance that bone will be used as blood in percent.
        bone-chance: 12
        //What materials can be stained.
        saturated-materials:
        - stone
        - grass
        - dirt
        - cobblestone
        - wood
        - sand
        - gravel
        - sandstone
        - wool
        - double-step
        - snow-block
        - clay
        - netherrack
        - soul-sand
        //How long particles stay before disappearing (in server ticks = 20/s).
        particle-life:
            to: 15
            from: 5
        //Chance that wool will be used as blood in percent.
        wool-chance: 40
        //If the blood from entity dying will stain the ground.
        stains-floor: true
    //If you have multiple worlds, but only want this on for selected worlds, put the world name in the [ ], separated by commas. An empty list means all worlds.
    worlds: []
    //When creeper is attacked or dying.
    creeper:
        //Amount of blood particles that the creeper drops.
        amount:
            to: 15
            from: 5
        //How long the stain lasts on the ground.
        stain-life:
            to: 120
            from: 80
        //How long bones dropped stay till disappearing.
        bone-life: 100
        //The colour of the wool (5 is light green).
        wool-color: 5
        //Chance that the creeper will bleed bone in percent.
        bone-chance: 0
        //What materials can be stained by creepers.
        saturated-materials:
        - stone
        - grass
        - dirt
        - cobblestone
        - wood
        - sand
        - gravel
        - sandstone
        - wool
        - double-step
        - snow-block
        - clay
        - netherrack
        - soul-sand
        //How long the particles stick around.
        particle-life:
            to: 15
            from: 5
        //Chance that creepers will bleed wool.
        wool-chance: 50
        //If creepers can stain the ground.
        stains-floor: false
    //When entity is attacked.
    attack:
        //Amount of particles that are dropped.
        amount:
            to: 25
            from: 15
        //How long the stained ground lasts.
        stain-life:
            to: 120
            from: 80
        //How long the bone particle will last.
        bone-life: 100
        //Colour of the wool (again 14 is red).
        wool-color: 14
        //Chance that bone will be bled when entity's are attacked.
        bone-chance: 6
        //Materials that can be stained.
        saturated-materials:
        - stone
        - grass
        - dirt
        - cobblestone
        - wood
        - sand
        - gravel
        - sandstone
        - wood
        - double-step
        - snow-block
        - clay
        - netherrack
        - soul-sand
        //Life of particles bled when entity is attacked.
        particle-life:
            to: 15
            from: 5
        //Chance that entity's will bleed wool when attacked.
        wool-chance: 50
        //If the ground can be stained when an entity is attacked.
        stains-floor: true
    //When entities are damaged by projectiles.
    projectile:
        //How much they bleed.
        amount:
            to: 15
            from: 5
        //How long the stain will last.
        stain-life:
            to: 120
            from: 80
        //How long bone that was bled will last.
        bone-life: 100
        //Wool colour (14 is still red)
        wool-color: 14
        //Chance that bone will be dropped when damaged by projectile.
        bone-chance: 6
        //What materials can be stained.
        saturated-materials:
        - stone
        - grass
        - dirt
        - cobblestone
        - wood
        - sand
        - gravel
        - sandstone
        - wool
        - double-step
        - snow-block
        - clay
        - netherrack
        - soul-sand
        //How long the particles last.
        particle-life:
            to: 15
            from: 5
        //Chance that wool will be dropped when damaged by projectile.
        wool-chance: 50
        //If floors can be stained or not.
        stains-floor: true
    
    Use this chart to change the colour of the wool http://www.minecraftwiki.net/wiki/Data_values#Wool
    Hope this helps guys. If you have any other questions about the config feel free to drop me a PM and I'll try to explain it better.
    Features:
    • Complete overhaul!
    • Mobs now drop Red wool/Redstone/Bones and stain the ground with their blood
    • Drops disappear over time and are not pickup-able
    • Config file has been added, the following can be configured:
      • Max particles
      • Amount of drops
      • How long the stain lasts
      • The colour of the wool
      • Chance of bone being dropped
      • Chance of wool being dropped
      • How long the drops stick around before disappearing
      • Can disable the stain effect for Creepers, on entity damage, or entity death
    **NOTE: This code was developed by Snowleo, he was generous enough to leave a source code for people to pull from :D by request I changed it to this and personally I much prefer it now. Full credit goes to Snowleo, I only tweaked the code a tiny tiny bit**
    Download


    Email me if you have any questions
    Change-log:
    Version 3.4:
    • Compatibility with CraftBukkit 1.1-R1
    • New Bukkit Event system
    • Optimized block replacement (should not trigger any physics update anymore)
    • Optimized event handling
    • Statistics by Hidendra
    General info: Since Version 3.4 this plugin send statistics about the usage to the serverhttp://metrics.griefcraft.com/. You can disable this using the command /bleedingmobs disable-metrics
    Version 3.1
    • Candy mode (Hint: set particle material to cake)
    Version 3.0
    This project has a new owner. I'm the original author of the mod.
    • Support for Enderdragon (broken, because Bukkit does not call the events, but it will work once they implement them)
    • Fall damage now creates a blood effect (can be configured)
    • Implemented the NoLagg compatibility.
    • More comments in the config.yml
    • Blood is only triggered, if the damage event is not canceled (can be configured)
    • Updated for 1597
    Also all the changes that I made in my branch:
    • Prevent Enderman pickup of wool blocks
    • Enderman bleed black wool and coal
    • The blood can be configured now in config
    • Fix bug with explosions releasing particles twice
    • Different colored blood stains don't overwrite each other
    • Updated for the new config code.
    Version 2.5 part 1/2
    • Added bits of code provided by bergerkiller that will hopefully let this and NoLagg co-exist.
    • Next update will update the config file.
    Version 2.3
    • Thanks again to Snowleo, the chunk reload issue was fixed.
    Version 2.2
    • Snowleo has added a config file, which allows stains to be toggled for certain events
    • If I have the time, and if I feel like it, I may attempt to add to the config file to make individual mobs toggle-able.
    Version 2.1
    • Tweaked a method to fix the onEntityExplode. It isn't completely fixed yet, but I think it's a bit better then it was before. Thank you too Zarius for pointing out the problem too me :)
    Version 2.0
    • Code has been completely changed
    • Expect to love this plugin A LOT more
    Version 1.3
    • Minor bug fix
    • Added additional features
    Version 1.2
    • Small adjustment too remove Dropped Redstone​
    Version 1.1
    • Recoded so that players can't pick up restone that is dropped, and it disappears when they try to pick it up (should prevent any lagging from occuring if a lot of mobs are taking damage)
    Version 1.0
    • Finished plugin and released it to bukkit :) with thanks too nisovin for helping with a part in the coding
    Version 0.1
    • Didn't work at all
    To-Do list:
     
  2. Offline

    Bseagull

    Is the wool and redstone breakable? If it is I will not get this because it will be abused.
     
  3. Offline

    MuttsNuts

    Its not unless you use NoLagg as that seems to conflict with BleedingMobs sadly.
    Yes this plugin is abuse free.
     
  4. Offline

    Bseagull

    yay ill probably get it when bukkit for 1.0 comes out!
     
  5. Offline

    MuttsNuts

    Yeah that's the best option I'd say. It's not really worth grabbing a ton of plugins just yet and then Bukkit releases their update the day after :p
     
  6. Offline

    Bseagull

    Yea i know exactly what you mean. Its happened to me SOOO many times it sucks.
     
  7. Offline

    DaEgo

    Can u maybe use a new 1.0.0 gfx while hitting the mobs ?
    i dont know all the colors yet
    but maybe there is a red one ?
    would be nice if (example) zombies become the "smite" gfx on hit
     
  8. Offline

    Perdog

    The "smite" gfx? What's that? Sorry, I haven't really played 1.0 much yet
     
  9. Offline

    DaEgo

  10. Offline

    Perdog

    To be honest this sounds like it would be better as a separate plugin, IF I have the time when the next RB comes out I can attempt this for you, but at the moment I'm really busy trying to put together my custom classes plugin.
     
  11. Offline

    DaEgo

    ahh im sorry, its the effect when u hit a creeper only
     
  12. Offline

    Perdog

    Are you talking about the critical hit effect? When your above something and hit it and it does a white or gray slash or something?
     
  13. Offline

    DaEgo

    no just use as regular effect
    to avoid the "red woll" bug and stop asking useres "the npc drop red wool and gunpowder LOOLOLOLL ?" etc
     
  14. Offline

    Perdog

    Then they wouldn't be "bleeding"? and what red wool bug?
     
  15. Offline

    DaEgo

    bleeding yes, but with a different gfx, cant u use ur own *.jpg or *.png file inside the jar ?
    and red wool, sometimes when a mobb bleed and the ground is red,
    player can (really just sometimes) dig the red ground and get red wool than
     
  16. Offline

    Perdog

    I think to load your own .jpg or .png file you need to use spout, but I don't know for sure, I'm not up to date on what spout can and can't do yet
     
  17. Offline

    BioRage

    Could you take a look at this with NoLagg? It seems that the blood that comes out, etc. seems to be able to loot!
     
  18. Offline

    Perdog

    Yes I know :( It's an issue that was raised a while back, and I talked to berger about it and I thought he said he was going to add support for it but I don't know if he ever got around to it..
     
  19. Offline

    bergerkiller

    @Perdog almost added support, only got one issue and it's on your side unfortunately.
    You have the following code:
    Particle.java: void start(final Location loc, final ParticleType type)

    Code:
            item = loc.getWorld().dropItemNaturally(loc, stack);
            BleedingMobs.addParticleItem(((CraftItem)item).getUniqueId());
            state = State.SPAWNED;
            scheduler.scheduleSyncDelayedTask(BleedingMobs, this, lifetime);
    The problem is my 'max items per chunk' feature. It uses the onItemSpawn event, but as you can see I can't possible check if the item is blood because the UID is mapped after the spawn part.
    Code:
            if (NoLagg.bleedingMobsInstance != null) {
                try {
                    BleedingMobs bm = (BleedingMobs) NoLagg.bleedingMobsInstance;
                    if (bm.isWorldEnabled(item.getWorld())) {
                        if (bm.isParticleItem(((CraftItem) item).getUniqueId())) {
                            return true;
                        }
                    }
                } catch (Throwable t) {
                    NoLagg.log(Level.SEVERE, "Bleeding Mobs item verification failed, contact the authors!");
                    t.printStackTrace();
                    NoLagg.bleedingMobsInstance = null;
                }
            }
    I somehow need to know if the item spawned is a blood item or not. Could you add a simple boolean value (in the main class) which is true when a blood item is spawned? Sorta like:
    Code:
            BleedingMobs.isSpawning = true;
            item = loc.getWorld().dropItemNaturally(loc, stack);
            BleedingMobs.isSpawning = false;
            BleedingMobs.addParticleItem(((CraftItem)item).getUniqueId());
            state = State.SPAWNED;
            scheduler.scheduleSyncDelayedTask(BleedingMobs, this, lifetime);
    It's almost 100% working as is, but if you spam-hit a cow it will eventually reach the chunk limit and start buffering it, causing the item to respawn.
     
    BioRage and kahlilnc like this.
  20. Offline

    kahlilnc

    That would be awesome
     
  21. Offline

    Perdog

    Weeeeelllllllllllll, I guess that wouldn't be an issue :) But this does require me to stop procrastinating and update it too 1337, so I may have a few config issues. I'll get this done as fast as possible :D
     
  22. Offline

    bergerkiller

    @Perdog ok thanks :)

    Btw not sure if that is needed, it even worked on 1.00 build 1535 when I tested it lol
     
  23. Offline

    Perdog

    Ya but it doesn't hurt to update it, guess I could do it in 2 parts, adding in fix to help it co-exist with NoLagg, then do the config after that release

    1337 update part one complete, with the code provided by @bergerkiller we have hooked the 2 together, should work nicely now :)

    Next up, part 2, creating the new config, hopefully cleaning it up a bit if I can. This update should come within the next few days as it isn't a top priority, I'm working on another MUCH bigger plugin, plus I'm messing around with cryengine 3 :p

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
    kahlilnc likes this.
  24. Offline

    bergerkiller

    @Perdog ok then I'll go and upload 1.50.1 :)

    EDIT

    Ow before it's too late, the 2.4 version still has the weird error when enabling/disabling (you are setting an array of worlds instead of a list in the configuration)
     
    BioRage and kahlilnc like this.
  25. Offline

    Perdog

    Shit right, is that stopping it from enabling completely?
     
  26. Offline

    bergerkiller

  27. Offline

    Perdog

    Download fixed, I have no errors on start-up, let me know if you guys get anything at all
     
  28. Offline

    bergerkiller

    @Perdog works 100%, and is compatible with NoLagg now :)
    Spam-hitting a cow and not a single item got stacked :D
     
    kahlilnc likes this.
  29. Offline

    Perdog

    You, good sir, are the best for helping to get this work :D
     
    kahlilnc likes this.
  30. Offline

    DarkusOfArk

    I Like The Plugin. Add Some Gore Into Minecraft. No Bugs To Report Of And Great Particle Effects
     
  31. Offline

    BioRage

    Sweet, so you both fixed it?

    Thanks!

    @Perdog Is it possible for just the Redstone to come out and stain the floor as blood?

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

Share This Page