[MECH] OtherDrops 2.8- Ultimate block/mob/player drop editing [1.5.2]

Discussion in 'Archived: Plugin Releases' started by Zarius, Jun 12, 2011.

  1. Offline



    Want to fix glass/stairs/boat drops? Want to gather ice/glowstone/grass in a balanced manner? Want to smelt ore with golden tools? Want to cause chaos with undead that rise again? Now you can, simply by enabling the included example files or delve into the more advanced customisation and make drops work the way you want.

    OtherBlocks aims to give you ultimate control over what item that blocks/entities drop when destroyed, depending on how they were destroyed. Compatible with WorldGuard. Lightweight! Only scans what it needs to and ignores the rest.
    Download: BukkitDev (download link on there) | Source Code

    Included Modules
    * Fix undroppables: fix drops for stairs, glass (don't use your hands - ouch), boats & bookshelves (1.8 stairs included)
    * Gold tools (basic): gold tools have a chance of dropping the complete block for grass, ice & glowstone.
    * Gold tools (smelt): gold tools have a chance of mining an ingot directly from ores.
    * Ore Extraction: using the usual tools, ingots are ripped out of ores, leaving the stone behind.
    * Leaf overhaul: adds leaf drops (apples, cocoa, leaves, sticks & a very small chance of golden apple).
    * Undead Chaos: beware the night! Zombies & skeletons rise again and even players rise back from the dead (player deaths spawn more zombies/skeletons).
    * and more...

    Custom Configuration Examples
        # Simple glass drop fix
          - drop: GLASS
        # Players drop Zombies on death, 50% of the time
          - drop: CREATURE_ZOMBIE
            chance: 50%
        # Spiders killed with any sword at night have a 10% chance to drop web,
        # otherwise they drop whatever they normally would
          - tool: ANY_SWORD
            time: NIGHT
            drop: WEB
            chance: 10%
        # Trees drop apples (or cocoa from birch trees)
          - drop: APPLE
            chance: 5%
          - drop: DYE@BROWN
            chance: 5%
    If you are getting errors with the word "snakeyaml" in it, your config file isn't properly formatted.
    Test it on this website (or this one).

    See the dev.bukkit page for full details on how to set up OtherDrops, a complete parameters list and further examples.


    Newest changelog details here.

    Main author: @Zarius
    Contributors: @Celtic Minstrel, raws
    Original author: @cyklo
  2. Offline


    Try /odr :)

    Yup, should work. Have you updated the events folder in your otherdrops folder?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jul 15, 2016
    RugRats likes this.
  3. Offline


    Request.. :)
    Support for multiple events.. ect - event: [EXPLOSION, LIGHTNING] - Something like that
    If drop has delay and a message option for message to show after before the delay instead of message poping up after the delay :)
    EDIT: And
            - tool: ANY
              drop: STONE
              chance: 100
              event: EXPLOSION
              message: damn..
              delay: 20
    When the explosion happens and it blows up the stone it drops cobblestone :O.. anyway to make it drop the set drop?

    EDIT: Bug... if delay is set and you break a block it'll come back and it'll set you keep breaking it untill the delay is over.. say you have - event: explosion and delay is 50 during that time you can break it like 5 times and then it'll explode 5 times.
  4. Offline


    Multiple events should work exactly as per your example.

    Not sure about your second request regarding messages, can you clarify?
  5. Offline


    I editted that message with more info... and

    If you have a message and delay... and you break something after the delay time is up the message will appear.. say you have
      - tool: ANY
        drop: STONE
        chance: 100
        event: EXPLOSION
        message: get the hell out!!
        delay: 50
    In this example when breaking stone the delay will last 50...
    something and after that 50 (what seconds?) the explosion will go off..
    And then the message will appear.. so if your trying to warn
    your users it won't work lol..
  6. Offline



    The message being delayed is by design since it's part of the delayed drop, you need to use dropgroups like po5' s post just above.

    I'll look into that delay bug where the block comes back. In regards to your config probably better to have the stone drop without delay and just have the delay on the explosion, will post an example config when I'm not on my phone :)

    edit: on a PC - here's the example:
      - drop: STONE
        message: get the hell out!!
       - event: EXPLOSION
        delay: 50
    With this the drop and message should occur straight away and only the explosion itself is delayed - this should also avoid the problem with the block coming back (I think, not 100% sure).
  7. Offline


    Um I think it is but is it possible for players to drop money with this when there killers kills them ???
  8. Offline


    Thanks :)
  9. Offline

    Celtic Minstrel

    How about "damagetool" and "consumetool"?

    Also, a note on delays... if you try to delay anything that requires the event to be cancelled (for example, suppressing the default drops or using drop: DENY), it will not work. This is because by the time the drop actually runs, the decision of whether to cancel the event has already been made. There is no way around this, so if you need a delayed drop to cancel the event you'll have to use drop groups.
  10. Offline


    Most certainly:

        - drop: MONEY@25.5
    In 2.0 you can use MoneyDrop to drop physical "coins" from whatever you want :D
    kahlilnc likes this.
  11. Offline


    Using any of the commands in 2.0 alpha just brings up the help saying how to do the commands.. I'm doing it right yet it doesn't work
  12. Offline


    Check to make sure that OtherDrops loaded properly with no errors. I've found that if there's an error on startup the plugin won't load but the commands are still registered (ie. you still get the help for the commands but they don't work, like you said).
  13. Offline


    It did load properly without errors. Or I would have posted them :) Double checked no problems :p
  14. Offline


    @RugRats - odd because /odr works fine for me, haven't tried the other commands. Not sure what else the problem could be :/

    Do the configured drops work? Just the commands not working for you?

    Oh, sounds silly but make sure you don't have an otherblocks jar still in the plugins folder (I've left it in mine before :))
  15. Offline


    /odr doesn't work just brings up saying the command is /od reload.. the drops work and no otherblocks jar is found :)
  16. Offline


    Hmm, perhaps put verbosity on highest and post the otherdrops startup messages?
  17. Offline

    Celtic Minstrel

    This is probably because I pushed the commands out into a separate executor, so if there's an error on startup the executor never actually gets registered for the commands.
  18. Offline


    Yeah, I get that - not really a problem as if there's an error on startup other things probably aren't going to work too. Not sure what problem Rugrats is getting though... @RugRats - will do a little testing tonight.

    New release - 2.0-beta1

    * lots of small bug fixes
    * fix soundeffects/smoke
    * fix for ranges (and %q in messages reporting correct drop quantity)
    * dropgroups work
    * added drop: MONEY_DROP (if you have the "MoneyDrop" plugin this will drop "coins")
    * added "randomiseloc: x/y/z" parameter (eg. randomiseloc: 2/0/2 will add 2 block variance to x & z coords for effects & events)

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


    Commands work again for me :O
    BUG: Right click with any durable item resets the durability to full :)
  20. Offline


    Not sure if I'm doing something wrong, but when I have OtherBlocks and Worldguard installed at the same time, I get a tone of stack traces going off in my console when leaves decay. It looks like OtherBlocks is trying to pass a message to Worldguard, and it's not recognized. I've tried updating both Otherblocks and Worldguard...(except for the newest version put out today.) Any ideas?
  21. Offline


    Already reported fixed... in newer builds. Unless this is new. Because 4 or 6 days ago I posted some of those :)
  22. Offline

    Weltall 7

    The best and easiest sulution I can think of is to change the parameter separation character, e.g. to '|' or '&'.
    - drop: SHEEP@SHEARED|BLUE/2/100%
    another possibility is to chance the drop separator:
    - drop: SHEEP@SHEARED/BLUE|2|100%
    note: I don't know whether all characters are allowed in YAML, so these examples might not work.
  23. Offline

    Cognito guy

    AWESOME plugin:D

    Can you also add regios regions instead of just worldguard regions?
  24. Offline


    Cool - glad commands work, will look into the durability issue.

    What version of OtherBlocks are you using? 1.96 should have fixed this, if you are using 1.96 can you please post an example of the error you are getting?

    Yeah, that's my thoughts too - I just need to think about it for a bit and decide on the best option (don't want to use your second option, I chose / for the drop embedded chance/quantity specifically to avoid needed to hold shift).

    I had planned to do this a few months ago (see this post on the regios thread) but I got no response and still can't see any details on an API to allow me to check Regios regions. I've posted a new request in the Regios thread.
  25. Offline

    Cognito guy

    ok, thanks for the quick response
  26. Offline


    No problems. The regios developer has noted that an API will be out in the next stable version so that should allow me to add an option for Regios regions.

    I cannot replicate this although I did find a different bug where "damagetool: 1" kills your tool :/ Can you send me your config?
  27. Offline


            - tool: ANY
              drop: STONE
              quantity: 1
              chance: 100
              effect: SMOKE@NORTH
  28. Offline


    Would this be able to.
    Cause wheat to only be dropped (harvested) by a hoe, and other things wouldnt effect it. Like water? So you could dump water on a farm and it not do anything?
  29. Offline


    Theoretically, yes. I've not tested or finalized the water destruction (blockfromto) part though. Keep in mind that wheat and water cannot occupy the same space so if you deny wheat breaking with water then the water just won't flow over the wheat at all.

    I can't see anything odd there - will try this config at home tonight, perhaps it has to do with a plugin conflict?

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


    Would it be possible to include an extra, optional "message:" command, which would be displayed to other players in the same way the current one displays a message to you?

    For example:
    message-others: "<PlayerX> has found a diamond!"
    which broadcasts "<PlayerX> has found a diamond!" to all other players (within an adjustable broadcast range, or -1 to all server) .

    Unless this already exists and I can't see it, in which case can you point me to it? :)

    Great Plugin!
  31. Offline

    Celtic Minstrel

    I don't really like these suggestions, and I don't think it's really high priority to have a workaround for this since spawning sheared sheep doesn't seem like something a lot of people will want to do.

    Still… I think the best separator is probably the hyphen. Thus, SHEEP@SHEARED-BLUE/2/100%.

    If you do that, perhaps we should create a region abstraction layer that will defer to WorldGuard or Regios, whichever is available, and then regions for either plugin go in the same "regions" key.

    Hm, a "broadcast" or "announce" key seems reasonable I suppose; it would work exactly the same way as "message" except call server.broadcast instead of player.sendMessage.

Share This Page