[INACTIVE][MECH] DropBonus v2.5 - Loot table configuration tool - [740]

Discussion in 'Inactive/Unsupported Plugins' started by Nohup, Feb 25, 2011.

  1. Offline

    Nohup

    DropBonus
    Version 2.5

    Tags - Loot, Drops, Permissions, iConomy, Multi-world

    The DropBonus plugin will allow you to configure the loot tables on your server in such a way that you can a) set the probability that breaking a block or killing an entity will generate a bonus, b) set the probability of EACH TYPE of bonus that can be generated, c) set a range for the number of items dropped and MORE. Even better still, the plugin was coded in a completely generic fashion so you aren't limited to the combinations that I thought were correct or needed. You can configure this plugin so that ANY block that is broken has the chance (.1% - 100%) of generating ANY other material (Material.X). The same goes for any creature that is killed.

    This tool can be used to override the default game drops as well. If you wanted to turn all drops from blocks off and control all the materials on your server, this tool makes it possible. It provides total control over what drops when blocks break and when creatures are killed!

    Features:
    • Allows for bonus blocks to be dropped when a configured block is broken OR when a configured mob is killed.
    • Bonus chances are cumulative, so you could receive multiple bonuses for one block/mob based on the laws of probability.
    • Single "roll" performed to determine if bonuses should be granted on this event or not. Once you have qualified for a bonus, all bonuses defined for that block will be attempted.
    • Individual "rolls" performed for each bonus type, ensuring that qualifying for one bonus at a given level doesn't automatically qualify you for all bonuses at that level.
    • Configurability is the key. You can configure any block type and under that block type you can configure the chance of a bonus entity being dropped when the given block type is broken. The same goes for mob type.
    • Along those lines, you can also set individual blocks OR bonuses to be turned off. You don't have to have a specific set of entries or drops. Only set up what you want to occur.
    • Percentage configuration is now from 0-100 and anywhere in between in double format (so 0.000001 will now be accepted)
    • Ability to override standard drops from entities and blocks, assumed to be false if not specified
    • Ability to set drops based on tool used when breaking the block/killing the mob
    • Ability to specify 0-n bonus items of a type to be delivered in one "bonus"
    • Ability to specify 0-n bonus evaluations for a given bonus (i.e. you have 100% of one bonus stone, and then 20% chance of a second bonus stone)
    • Ability to specify the maximum number of dropped items per bonus per material
    • Configurable permissions supported by the Permissions plugin
    • Ability to specify the amount of damage done to a tool when breaking a block of a given type or killing a given mob
    • Newly added - MULTI-WORLD support, configurability for each world or all worlds at once.
    • iConomy support for specifying currency to drop from mobs and blocks
    Usage: Install the plugin and configure the config.yml for it (after it is generated). No commands currently specified. Bonus node permissions can be setup in the Permissions config.yml as exemplified below.




    Configuration Examples: Wiki

    Permissions Example: Wiki

    Multi-world Support: Wiki

    iConomy Support: Wiki

    Download DropBonus: DropBonus v 2.5
    Download Source: GitHub
    Wiki Site: Wiki


    Latest CraftBukkit version tested against: 733


    Changelog:

    v 2.5
    • Updated to work with Bukkit 733.


    v 2.4
    • Updated to work with new version of Bukkit. NOT backward compatible.
    v2.3
    • Added list support for coins entries
    • Added permissions check before applying override
    v 2.2
    • Bug fixes for Permissions plugin name and 0 data field entry.
    v 2.1
    • Changed cooldown to only affect configured blocks
    • Added override support at tool level
    v 2.0.1
    • Bug fix for creature coin drop issue for iConomy integration.
    v 2.0
    • Added permissions configurability at the Material level (items dropped)
    • Major code refactor, thus new major version
    • Adjusted priority to Monitor where dealing with cancellable events, this will prevent conflicts with WorldGuard and iZone
    • Tested against new Recommended Build, w00t!
    v 1.10

    • Added support for boats and carts
    v 1.9

    • Added configuration to specify whether a killed entity only drops bonuses when killed by a player or not. This has a top-level default AND creature-specific configurations.
    • Added configuration to specify a placed-block cooldown timer (in ticks).
    • Added clean up routine to tracking to make sure entries aren't orphaned.
    • Adjusted block listener priority for onBlockBreak event and accounted for if the event is cancelled.
    v 1.8


    • iConomy beta successfully complete
    • Refactored some of my packages for those that look at my code
    • Created wiki for documentation so this post wasn't so large!
    v 1.7


    • Multi-world support added
    v 1.6


    • Added additional data specification within drop entries (used for color, texture, etc)
    • Added ability to specify how much damage a tool takes when breaking a block or killing a creature
    • Added BETA release of iConomy support (thanks to @Coelho for his help!)
    • Limited error spam to the console when configuration files are not correct
    v 1.5


    • Added Permission support
    v 1.4


    • Added tool-specific drop specification
    • Added support for 0-n bonus items to be dropped from a single configuration
    • Added support for o-n bonuses per material type per bonus
    • Added specification for maximum number of bonuses dropped per event
    v 1.3


    • Added override support to disable standard drops from blocks and entities.
    • Override flag assumed to be false if not specified
    v 1.2


    • added check to only drop bonus when death is caused by entity attack, not by external triggers such as skeletons burning to death or entities drowning
    v 1.1


    • Overhaul to percentage definitions
    • Added support for mob deaths
    • Changed name to DropBonus to span new functionality
    v 1.0


    • Initial release.
     
    Noppoly, Stormbow, Phaedrus and 2 others like this.
  2. Offline

    Euphoriant

    Gonna test this out today! Thanks for referring me :D
     
  3. Offline

    QQCucumber

    Going to be using this configuration on my server to get rid of the whole mob spawner farming practice:

    Code:
        craftskeleton:
            chances:
                bone: 100
                arrow: 100
            probability: 100
            override: true
        craftspider:
            chances:
                wool: 100
                string: 100
            probability: 100
            override: true
        craftzombie:
            chances:
                torch: 100
                flint: 100
            probability: 100
            override: true
     
  4. Offline

    DJ_Idol

    Ok, I was asking because this would be almost perfect (perfect with iConomy built-in money drops from mobs :-P) if I could only allow a certain group to get drops instead of all users.
     
  5. Offline

    QQCucumber

    Wait, iConomy money drops from mobs? I don't see this feature listed anywhere on iConomy.
     
  6. Offline

    DJ_Idol

    It's not. There was another plugin like this but also had iConomy money drops, but the author stopped development. :(
     
  7. Offline

    Nohup

    do you know what iConomy money is considered to be? The quick look I did at their post makes it seem that balances and what not are maintained in a DB which I definitely wouldn't want to require the links to the jars to do. However, if they are registering the money as a Material then this plugin would pick it up naturally and then leave all the balance information up to the iConomy folks. I guess the easiest way to find that out would be to try it, you would just need to know what the name of the money is. Is their source available? I did not see it in the post I was looking at.
     
  8. Offline

    darkcammo

    Any way to configure this per world? I'd like a world where creepers drop diamonds or something silly like that
     
  9. Offline

    QQCucumber

    http://wiki.nexua.org/IConomy/API/Usage
    --- merged: Mar 2, 2011 2:35 AM ---
    So, Nohup, since we're on the topic of iconomy, this plugin is what a lot of people were using a while before the author vanished: http://forums.bukkit.org/threads/ec...ney-and-drops-when-killing-monsters-292.3876/

    It is unfortunately now woefully outdated, and according to someone who tried to update it, it's basically impossible to fix without completely rewriting it, and the guy didn't release a source.

    So you'd be doing the community a big service by picking up on some of the features this guy had for his plugin.
     
  10. Offline

    Euphoriant

    A couple of suggestions:

    1. I would like the ability to set alternative tool/item/block-in-hand requirements for blocks edited in DropBonus. This, in effect, could give any block a range of different tool-drop outcomes.
    example: using a gold hoe on snow drops the flat snow tile, and using a gold shovel on snow drops extra snowballs.
    example: using an iron hoe to bash leaves off a tree has a chance to drop apples, using a sword always drops leaves, and an axe drops sticks
    example: using a stick to break a glass block has a chance to drop a glass block.

    2. I would also like if I could set specific drops to override all others. Perhaps like a hierarchy for each edited drop, with the highest valued drop being at the top.
    example: diamond ore has a chance to drop 1 diamond or 5 diamonds, but if it does drop 5 diamonds it will not 'roll' to drop any further bonus drops for that block.
     
  11. Offline

    Nohup

    @Euphoriant - #1 was already requested above and is in my update. #2 was already kinda requested, but it didn't include the weighting of the items. Weighting the items would become subjective if I implement it which would then mean I have to add that configuration too lol. Let's get through this update and see where we are at :)

    Everyone - v1.4 is now at the download link. For folks that don't care about all the crazy configuration additions I am going to write up, your existing configuration should still work as-is. I will update the overview now, but basically this update includes the four big configuration changes that had been asked for as of earlier.
     
  12. Offline

    darkcammo

    Great update! How hard would it be for multi world support. To have different settings in different worlds?
     
  13. Offline

    DJ_Idol

    Very nice update :) Hopefully permissions support gets added next, because that's the only reason I'm waiting to put this on my server :)
     
  14. Offline

    JohnnyR

    Yep, this functionality would be fantastic if it's possible.
     
  15. Offline

    Austinjs0102

    I seem to be having issues with the plugin. I have permissions set up correctly along with a the DropBonus plugin and its folder. The config file is set up to test whether it drops or not.


    bonuses:
    stone:
    maxcount: 5
    chances:
    sand: 100 2 3
    gold_ore: 100 1 2
    cobblestone:
    - 100.0 1 10
    - 100 1 3
    override: false

    This i thought would atleast give me extra drops or drop gold ore but nothing has dropped as of yet. Anythoughts?
     
  16. Offline

    Nohup

    this is a YML file, and as such there is a strict format that must be followed. See the examples above, spacing is IMPORTANT. If you delete your plugins/DropBonus folder a new default configuration will be created for you and you can follow its example.

    Also, updated JAR (1.5) is now available supporting the use of the Permissions plugin. Will update the original post now with information.
     
  17. Offline

    XxZeroxX

    =D. I'm very excited to try it out since I know for sure that no other 'drop' plugin allowed a range system. This definitely sways my interest to convert everything and give DropBonus some testing =). It did take a while to adjust to the importance of spacing, but copy/paste and just editing what is needed does help. Once again, I appreciate the fact that the range system was implemented, and in such a way that it doesn't require everyone to rewrite their config file.
     
  18. Offline

    Nohup

    Apparently @Coelho just released CookieMonster for iConomy PvM drops, I have suggested to him that we should just merge the code, we'll see what he says...
     
  19. Offline

    XxZeroxX

    Hrmm. I'm have a problem trying to find out how to drop a color of 'ink_sack' or a already-colored piece of wool. I was in the original post the Material.X, but I've tried: wool.4, ink_sack.4, ink_sack.orange, ink_sack:4, ink_sack.orange. If there is something I'm mixing up or something, please let me know ;0. Imma' continue to mess around with combinations to see if I can find it out at the same time~.

    -- Edit --
    The feature to allow this was updated in 1.6 =)
     
  20. Offline

    Swirly12

    Im having a problem getting any bonuses to drop at all. Im not sure if it's my config file or my permissions (using GroupManager with - bonuses.* under default).

    Code:
        dirt:
            mincount: 1
            maxcount: 5
            chances:
                dirt: 100 1 5
                seeds: 5 1 2
     
  21. Offline

    XxZeroxX

    I believe your issue is that you have 'mincount'. There is no configuration for mincount explained in the main post. Another thing is you don't have probability listed there at all. I'd say you're probably looking for something like this.

    Code:
        dirt:
            maxcount: 5
            chances:
                dirt: 100 1 5
                seeds: 5 1 2
            probability: 100
     
  22. Offline

    Nohup

    @XxZeroxX - First, thanks for helping Swirly out :) As far as colors I will have to put that on the TODO list, I only have it going as far as say Wool or Dye and didnt have any appenders for the data. I can do it though :)
     
  23. Offline

    Swirly12

    Sorry, probability was listed as suggested, I just missed it in the copy. I removed mincount as suggested. Currently I have
    Code:
        dirt:
            maxcount: 5
            chances:
                dirt: 100 1 5
                seeds: 5 1 2
            override: false
            probablility: 100
    but it still doesnt seem to be working.
     
  24. Offline

    Nohup

    do you have bonuses as the top node? Not trying to be daft, but that has to be the top-level item. Maybe you didn't include that in the copy as well?
     
  25. Offline

    Swirly12

    Yes I do. Here, Ill post the full version as a .txt
     

    Attached Files:

  26. Offline

    Nohup

    you have probability spelled wrong in everything but spider :)
    --- merged: Mar 3, 2011 4:12 AM ---
    still something else though, checking
     
  27. Offline

    Swirly12

    oh wow. I feel completely idiotic...
     
  28. Offline

    Nohup

    yah that was it, don't feel too bad, apparently I made the change and then didn't save the file so I was scratching my head as to why things weren't working lol
     
  29. Offline

    Swirly12

    Haha, Thanks for the quick help, I really appreciate it!
     
  30. Offline

    Daveyo

    glad to see another addon to make mining exciting. Also pretty cool you added that different tools will allow you to yield more product. I take 5 iron picks with me, but if diamond picks were to yield double the drops i would take one of those. Adds a nice element.

    thanks for the great plugins recently
     
  31. Offline

    XxZeroxX

    That is definitely doable ;).

    For example, if you wanted to make it so a dirt block would sometimes drop seeds regardless of tool, you'd add that under the chances section as listed below. But! If you used a diamond shovel to break that block, maybe you would want to guarantee a second dirt block, and sometimes even some sand. The code for that layout would look like:

    Code:
    bonuses:
        dirt:
            maxcount: -1
            chances:
                seeds: 10 1 2
            override: false
            tool:
                diamond_spade:
                    chances:
                        dirt: 100 1 1
                        sand: 25 1 2
            probability: 100
    The 'seeds' chances are going to happen even no matter how the block is broken (not sure if Creeper/TnT counts too). The tool section allows you to make it so specific tools used get an additional bonus.. or in this case a 100% chance to get 1 dirt, and a 25% chance to get 1-2 sand.
     

Share This Page