[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

    NEO

    I suppose it would have to be permissions. Limiting the tool wouldn't be an option unfortunately. Ah well its ok. Thanks for the amazing plugin!
     
  3. Offline

    anon

    First Thanks for the update, it was really nice, and now I can replace the superheat plugin :D

    Im not sure if I understand this new undet tools override thing, but this is what I made to replace superheat plugin.
    Can anyone confirm if this is the way to put the new override node? Cant test right now, only today night, so if I made any mistake It would be cool if you could point it.

    Code:
    bonuses:
    #superheat areia para vidro
        sand:
            chances:
            override: false
            tool:
                gold_spade:
                    override: true
                    chances:
                        glass: 100
            probability: 100
    #superheat pedra lisa
        stone:
            chances:
            override: false
            tool:
                gold_pickaxe:
                    override: true
                    chances:
                        stone: 100
                        stone: 10
            probability: 100
    #superheat ouro
        gold_ore:
            chances:
            override: false
            tool:
                gold_pickaxe:
                    override: true
                    chances:
                        gold_ignot: 100
                        gold_ignot: 10
            probability: 100
    #superheat ferro
        iron_ore:
            chances:
            override: false
            tool:
                gold_pickaxe:
                    override: true
                    chances:
                        iron_ignot: 100
                        iron_ignot: 30
            probability: 100
    #superheat madeira
        log:
            chances:
            override: false
            tool:
                gold_axe:
                    override: true
                    chances:
                        coal: 100
            probability: 100
    #superheat argila
        clay:
            chances:
            override: false
            tool:
                gold_shovel:
                    override: true
                    chances:
                        clay_brick: 100
                        clay_ball: 10
            probability: 100
    #superheat porco
        craftpig:
            chances:
            override: false
            tool:
                gold_sword:
                    override: true
                    chances:
                        grilled_pork: 100
            probability: 100
    #dimantes
        diamond_ore:
            chances:
            override: false
            tool:
                gold_pickaxe:
                    override: true
                    chances:
                        diamond: 100 2 2 0
            probability: 100
    
    creature:
        requirekiller: 0
    block:
        cooldown: 0
    
     
  4. Offline

    Nohup

    yup, that is how I have it coded
     
  5. Just wanted to say thanks for this great plugin Nohup. All my players love it <3
     
  6. Offline

    NotoriousPyro

    I'm having a few problems with this plugin:
    * 2.1 displays as 2.0
    * Some drops do not work, I've tried overriding pigs to drop more pork and they drop nothing, same with zombies...

    Code:
        craftpig:
            chances:
                pork: 100 1 4 0
            override: true
            probabilty: 100
     
  7. Offline

    Lighthat

  8. Offline

    Nohup

    @Lighthat - your config is off, spacings of 5 dont work, and you only need one bonuses node

    @NotoriousPyro - probability is spelled wrong so it is ignored, default is 0 so you are overriding with a 0 percent chance to drop.
    [MERGETIME="1299883538"][/MERGETIME]
    and sorry, I always miss one thing when I update versions. @#$#$%@#$R%$%#$
     
  9. Offline

    Lighthat

    Then what spacing should i use?
    I just edited it for one tab per node level, it still doesn't work.
     
  10. Offline

    NotoriousPyro

    Oops, such a silly schoolboy error. [​IMG] Thanks for pointing it out - it was driving me up the wall! It works now, thanks [​IMG]
     
  11. Offline

    Shenlong

    If I made apples drop from leaves sometimes would they drop when the leaves decay or would you have to destroy the leaves by hand for the apples to drop?
     
  12. Offline

    Nohup

    Use 4 spaces, not tabs. And dont forget to take out the multiple bonuses lines. If it is still a problem, upload it on this thread and I can try and clean it up for you.
     
  13. Offline

    NEO

    Cant get diamond ore drop working.

    diamond_ore:
    probability: 100
    override: false
    chances:
    diamond:
    - 20 1 1

    Im using the node bonuses.diamond_ore.*

    Im an op and its not working for me either. I used the same setup my other custom drops had to so im lost.
     
  14. Offline

    NotoriousPyro

    @NEO try this:
    Code:
        diamond_ore:
            chances:
                diamond: 20 1 1 0
            probability: 100
            override: false
     
  15. Offline

    NEO

    thanks i,ll try it out. my other drops bonus's are worded like the one i posted and work, so strange.
     
  16. Offline

    Nohup

    It depends on the event fired on decay, if it doesn't fire onBlockBreak then they wouldnt drop on decay
     
  17. Offline

    NotoriousPyro

    @Nohup isn't there any chance you can add this to the plugin as an option? I've configured my leaves as follows:
    Code:
        leaves:
            chances:
                sapling: 20 1 1 0
                stick: 10 1 1 0
                apple: 5 1 1 0
                golden_apple: 0.50 1 1 0
            override: true
            probability: 75
            maxcount: 1
    They work fine when broken by hand and whatnot, but decaying drops only saplings.
     
  18. Offline

    giding

    what's wrong with this?

    http://pastebin.com/ZtXRFnzk

    absolutely nothing seems to be working with this config.

    however, when the mobs are removed from the config, everything works fine (except the mobs of course)
     
  19. Offline

    Shenlong

    Is there any way you could implement drops working on decay as well? Most of my players don't take the time to individually break each leaf block. Thanks again for the great plugin and all the support.
     
  20. Offline

    treegis

    I love this plugin, I have a question though. Is it possible to make boats drop a boat when you break them? I've tried but it won't work. I don't know if I'm doing it wrong or if it just isn't possible.
     
  21. Offline

    Shenlong

    Hmm, I just came across something odd. I'm not sure if it even has to do with this plugin, but it makes the most sense out of the plugins that I have. I was clearing out some dirt and it started dropping glowstone dust. Now, I don't have anything at all in my config file about dirt or glowstone dust. So I have no idea why I'm getting glowstone dust from dirt.
     
  22. Offline

    Nohup

    It should on a crash, and for some reason there is something hinting at the back of my mind that a direct break didnt but I am not sure what. I can look at it again.

    There is no direct reference in my code to glowstone either, so that is a bit odd. Maybe an external force?

    Again, I will have to look to see what is firing.

    My wife is out of town this weekend so I have my kids (3) on my own. Needless to say it may not get done in the next day or two, but I have added them to my to-do list.
    [MERGETIME="1299971428"][/MERGETIME]
    You have issues in your config file, and they are writing errors to the console.

    Your spacing is wrong on the damaged node here:

    Code:
        craftcreeper:
            probability: 99.9
            tool:
                diamond_pickaxe:
                    override: true
                    chances:
                        diamond_block: 0.7
                        diamond: 30.0 1 2
                        mob_spawner: 0.5
                        sulphur: 95.0 1 5
                        sponge: 5.0
                        soul_sand: 10.0
                diamond_sword:
                  damaged: 4
                    override: true
    
    There are several examples of this (everywhere you use damaged). Once I fixed those the config file loaded successfully. Just space it over to align with override
     
  23. Offline

    Shenlong

    I think I might not what the glowstone dust is coming from. I'm using MCMMO the excavation skill it has says something about digging for and finding treasure. I haven't looked into it too much yet, but I think that might be what's causing it. It just confused me when I first saw it.
     
  24. Offline

    Daveyo

    omg, the complexity of this config file is blowing me up. Like can i just have someones config file so i can change the percentages. The spacing and titles, I am getting nothing but errors all over.

    I'm not saying this is overly complex for what it does (excellent job with this addon.), but i just dont have 3 or 4 days of testing to figure out how to make sand drop double sand.

    Don't mention the wiki, that is like referencing the encyclopedia britannica. Seems like only things on this post are config files that have errors already and the wiki is short segmants of examples that are difficult to replicate.
     
  25. Offline

    Nohup

    the config is YAML, it follows its rules. the best thing I can tell you is 4. each node is embedded 4 spaces in under its parent node. There is a long config on the wiki as well, it is right here
     
  26. Offline

    Daveyo

    perfect thanks man

    may i suggest putting a link to this directly on the download post. Was clicking around forever on wiki.
     
  27. Offline

    NEO

    Still cant get the drop bonus for diamond ore working

    bonuses:
    stone:
    probability: 100
    override: false
    chances:
    cobblestone:
    - 30 1 1
    sand:
    probability: 100
    override: false
    chances:
    sand:
    - 30 1 1
    wood:
    probability: 100
    override: false
    chances:
    wood:
    - 30 1 1
    diamond_ore:
    chances:
    diamond: 20 1 1 0
    probability: 100
    override: false
    block:
    cooldown: 6000

    Any ideas?
     
  28. Offline

    darkcrismon

    hey I'm trying to make it so each of the enemy spawn will drop some coin each time we kill them >.> i got it to work with 1 but when i added the 2nd one it would not work for it >.>

    Code:
    messages:
        bank:
            positive: You have received [amount] coins
            negative: You suck and were penalized [amount] coins
    bonuses:
        craftspider:
            probability: 100
            coins: 100 2 5
    creature:
        requirekiller: false
        craftspider:
            maxcount: 1
            chances:
                gold_ingot 20 1 2
    bonuses:
        craftzombie:
            probability: 100
            coins: 100 2 5
    creature:
        requirekiller: false
        craftzombie:
            maxcount: 2
            chances:
                gold_ingot 20 1 2
                bucket 20 1
     
  29. Offline

    Nohup

    creature is a singular top-level item, same level as bonuses, on or off, period.

    Bonuses only needs to be listed once.

    Code:
    messages:
        bank:
            positive: You have received [amount] coins
            negative: You suck and were penalized [amount] coins
    creature:
        requirekiller: false
    bonuses:
        craftspider:
            probability: 100
            coins: 100 2 5
        craftspider:
            maxcount: 1
            chances:
                gold_ingot 20 1 2
        craftzombie:
            probability: 100
            coins: 100 2 5
        craftzombie:
            maxcount: 2
            chances:
                gold_ingot 20 1 2
                bucket 20 1
    [MERGETIME="1299996559"][/MERGETIME]
    @NEO - I need to see the formatted text. You guys can use the { } button when you are typing to put in code and the forum post won't re-format on you...
     
  30. Offline

    SweetCraft Girl

    Honestly.

    The most troublesome, time consuming poorly organized plug-in to date on Bukkit.

    Why?

    1 - It has been days, quite literally, trying to get this configured.

    2- Needing a WIKI to configure a plug-in should actually make it easy, not be a mandatory requirement that makes it HARDER.

    3 - Your WIKI - is wrong and not-up-to-date on the config file, so anyone reading that solely alone is screwed - Whats the purpose of the wiki again because misinformation is literally quite the opposite of the purpose it was intended for in this setting. Yes, the wiki alone can you make you waste a lot of time doing everything wrong. So thanks on that one, i think?

    4 - ITEMS.DB - LEARN IT USE IT - EVERYONE ELSE DOES. But no, once again BACK TO THE WIKI; this time digging around for a nice long items list to paste into some txt file that drobbonus can read from... NOT GONNA HAPPEN. So what does one do? One sits for a couple days or few, messing with DropBonus on and off wondering why "Bow" gets a bow drop, but: goldenapple, 322, GoldenApple - ALL GET NOTHING, why? OH YA BLOCK NAMES DIFFERENT THAN ITEMS.DB (WHICH EVERYTHING ELSE USES) FOR THE WIN - WOOT. So here I have freaking sat for 3 damn hours between 2 people - YES WE ARE THAT DUMB TO THINK ITEMS.DB WOULD BE USED AND NOT A CUSTOM LIST ON A WIKI THAT HAS TO BE REFERENCED FOR EVERY DROP YOU WISH TO MAKE.

    And some maroon had the nerve to post in another 'drop modifying' thread: "use DropBonus its so simple to configure", and when i called bull, he scoffed at me. What a joke.

    Seriously.

    Do yourself a favor. Try working smarter than harder by REPLACING THE BUNK WIKI WRONG CONFIG INFO WITH THE RIGHT ONES BEING POSTED IN HERE.

    I mean, when so many people are posting config files and there are soooo many discrepancies, problems, errors, etc... ITS YOU, the coder, NOT the end user.

    /flame suit on
     
  31. Offline

    Nohup

    wow, rage much?

    For the configuration, they are the built-in Bukkit YAML format... Yes, they REQUIRE folks to a) space properly and b) spell properly. I've laid out the nodes and how to use them and have been willing to help. Honestly, they are simple parent/child relationships, while the overall configuration needs a minute or two of thought, the schema itself shouldn't.

    As far as "items.db", news to me. I see no reference to it in the code and so I guess it is my not being familiar with it. What I am using are the constants specified in the code itself. It isn't my own made up from the ether list, it is the Bukkit enum values as I have specified a few times in this thread. Seems to me that being consistent with the source code is MUCH more responsible than relying on a file that folks can apparently change at will...

    For me, this is simple to configure, but hey I wrote it and I get the meaning. While the configurations can get large, they follow the same pattern. I am not sure what you are calling bunk on the wiki, but if there is something wrong on it I can fix it, hell I am human I make mistakes. I think I have shown a complete willingness to adapt and modify and help wherever needed. However, if you don't like it don't use it, doesn't hurt my feelings. Obviously others like it and have been successful using it. I have had thousands of downloads of the plugin and with yours, I think that makes one official complaint. There have been configuration issues but 90% of them have fallen into the "simple mistake" categories...

    As far as maroons go... I did mention that spelling was important right?
     

Share This Page