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

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

  1. Offline


    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!

    • 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


    v 2.5
    • Updated to work with Bukkit 733.

    v 2.4
    • Updated to work with new version of Bukkit. NOT backward compatible.
    • 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


    So if it doesn't auto generate the folder I should create a folder in the plugins called DropBonus and added a file called config.yml (or whatever it it's meant to be) it would work?
  3. Offline


    no, it should auto-generate the folder and then the file, but it will NOT auto-generate either if the folder already exists. So, if you have a ./plugins/DropBonus folder (not the jar) already and you do not see a config.yml file in there, delete the ./plugins/DropBonus folder and on restart a new one should be created and the config.yml should be generated. If it is not then I would suggest you look at your permissions. You can create it manually and paste in what was linked if you are still having problems, these are simply text files.
  4. Offline


    Found another issue. In protected zones using the plugin izones (have not tested it with worldguard yet) the blocks still break, so for people who have the permission nodes, the blocks in a protected zone will break and give drops.


    I love this plugin but it seems i have pretty much every possible thing conflicting than can conflict with it.

    PS. hope you and your kids enjoy rango :)
  5. Offline


    If I have it configured this way:
    #86 - Pumpkin
                pumpkin: 100
            override: true
            probability: 100
    And I want the ranger class to get the drop, so I put:
    - bonuses.pumpkin.*
    Do I need to give all the classes I want to get NOTHING:
    - bonuses.pumpkin.override
    Or do they automatically get nothing by default if they don't have the permission?

    Thanks in advance!
  6. Offline


    @mudzereli - That will be an interesting thing to test... You would probably have to give the ones you want to give nothing access to bonuses.pumpkin, bonuses.pumpkin.probability, and bonuses.pumpkin.override but not to bonuses.pumpkin.chances. I think that would take care of it.

    @NEO - You are probably using override: true aren't you? The way the block override works is that onBlockBreak if override is true it changes the block type to Air so that when it finally does break there is nothing to drop. It is basically a back door hack because there is no other accessible way to stop the drop from what I have seen :( If you set override: false I am assuming you won't see this issue, but you will get 1 extra block from items (their default drops).
  7. Offline


    So even setting override to false people can still exsploit this plugin on protected areas.

    Any plans on fixing this. The players on my server love this plugin :(
  8. Offline


    define exploit? with override false the blocks are still breaking? That shouldn't happen from this plugin since the only affect it would have on the block itself is the override.

    If you are saying they are getting drops from protected blocks and the blocks are re-popping, then that is a different scenario. You are in a situation where you have two different plugins that aren't designed together and wanting them to work seamlessly... I can work to it to an extent, but for example trying to write code to be aware of all the zone protection plugins and how they store their areas and then adjusting this plugins behavior based on it isn't truly feasible.
  9. Offline


    Im refering to them receiving the drops and the block reapearing.

    May i make a suggestion? allows users to define areas in the world that aren't effect by drop bonus. Its the only wrokaround that comes to mind which doesn't require supporting every zone and protection plugin.
  10. Offline


    I had an idea, check PMs :)
    --- merged: Mar 7, 2011 6:54 AM ---
    New version is available including placed block cooldown and configurations to require if a player has to kill the creature of not. Release notes updated and configurations added to the wiki here.
  11. Could you print out also DropBonus version in the server startup log? All plugins except this one does that. Thanks.

    Also first post says "download version 1.7" but thread title say 1.9.

  12. Offline


    Any chance of vehicle drops in the future? That would make me a happy camper ^_^
  13. Offline


    @Zaflis - sure, and thanks, I swear I miss that one all the time (as evidenced by it being two version old). As for the gunpowder, it is still named Sulphur in the Bukkit constants within the Material enumeration. If they rename it in Bukkit then gunpowder would work without a code update, and I will have to update my lookup!

    @Izbay - so when it comes to vehicle drops, is that just saying "when a minecart crashes I can configure it to drop X Y and Z", or is it more of "if a minecart crashes, if it is a storage minecart then drop what is in storage"? or both?
  14. Offline

    Evan Melvin

    Can anyone tell me what the craft id for pig zombies is? pig_zombie doesn't seem to work.
  15. Offline


    craftpigzombie, here is a list of all the creature entries
  16. Offline



    This mod is greatness in modderland =)
    I love it BECAUSE it has so much options and configurable stuff!
    Thank you very much!

    you made my day =)
  17. Offline


    @Nohup I particularly use the feature of blockdrops for drop XYZ (boats drop boats instead of flotsam since they crash so darned easily!) I look forward to replacing it since it seems to be hit or miss on working these days. XD The storage carts dropping their inventory is a great idea if feasible, though! That is, to say, if they don't do that naturally.

    Thanks for the reply, and the addon! ^_^
  18. Offline


    Okay, v 1.10 is out there now, supports craftboat and craftminecart where all the different types of minecarts fall into that last one. It looks like the default behavior of a storage one is to drop what is in storage.
  19. Offline


    Thanks for adding boats so quickly!

    My console is being spammed out with:

    [Info] Path is bonuses.craftskeleton.probability
    [Info] Path is bonuses.craftskeleton.probability
    [Info] Path is bonuses.craftpig.probability
    [Info] Path is bonuses.craftzombie.probability
    [Info] Path is bonuses.craftskeleton.probability
    [Info] Path is bonuses.craftskeleton.probability

    Any idea what that could be? I haven't configured permissions because I didn't intend for drops to be different between groups.
  20. Offline


    Hey Nohup, love the mod great work, totally saved my server. I was wondering if your mod supports multiple types of drops for one mob or block, say I have two groups in permissions; Hunter and Farmer: Farmers get pork chops from killing a cow but not leather, where the Hunter gets leather for killing the cow but not chops? - Thanks for your time!
    P.S. I suppose in your dropbonus.yml, is it possible to say have a craftchicken.1 or craftchicken_1, and a craftchicken.2? -Or is that a possibility?
  21. Same thing. Seems not to be related with permissions because i tried with it on/off. It's also giving "Path is bonuses.craftsheep.probability" even though i haven't configured extra loot for it. Guess it just gives the notice now every time someone digs or kills anything at all.
  22. ^same issue as last two, my guess is that someone forgot to remove a debug message :-p
  23. Offline


    Same here... Hope it will not overwhelm my server :)
  24. Offline


    bah, stupid debug lines, sorry I was rushing to go out and grab DragonAge II. New jar is out there to remove it.

    @Martyr - I assume you are using Permissions and want me to extend the permission specification down to the drop level, not just the "chances:" node?
  25. Offline


    Hmm, I added this plugin a few hours ago and configured it for my purposes. But after a time my server lagged pretty much. After disabling DropBonus, it runs lagfree again.
    Any idea what causes this plugin to create lags?
  26. Offline


    could be the message I was spamming to the console on EVERY block and death event, but that was just in yesterday's build. I am keeping two lists, one on damages that will result in death and one on block placement (IF cooldown is not equal to 0). These spawn async scheduled cleanup threads in the scheduler but should be small. I am thinking the message would be the biggest issue as System.out.println can be a major irritant to an active server. I have actually crashed my test server by logging an event that spammed the console so hard it overloaded it.
  27. Offline


    @Nohup yeah, I was wondering if that was in there already - a different way to achieve similar results? or if it might even be in the works?
  28. Offline


    it isn't in there yet, but it will be the factor that forces me to refactor my utility code from a static call to an instanced one as it crosses a line from where the information I need is readily available in my current structure
  29. Offline


    As a man understanding nothing you just said, I nod in agreeance! You sir win [​IMG]'s!
  30. Offline


    eh it is just something I have been pondering whether I should do or not based on the number of times I pass certain things around, but we'll see. Either way I will figure out a way to get permissions to that level lol
  31. Offline


    Thanks that would be awesome, I'm still getting the hang of your mod, still playing around with the chances thing in permissions!

Share This Page