Make anything drop anything, anyhow!

Minecraft 1.7 features (click)!!

OtherDrops allows you to add anything from a simple "glass drops glass" or mob rewards, to a complex overhaul of your servers drops with drops differing depending on tools, biome, time, weather and much more, along with custom messages, actions and commands.

OtherDrops is lightweight* (it only acts on what you configure) and respects most protection plugins (eg. WorldGuard, Regios) settings. Many examples are included that you can enable and/or customize as you wish.

Getting Started (tutorials)

Core Features

Note: features in orange are only available in the latest beta versions

  • Drop anything!* (*from Bukkit - if it doesn't, let me know)
  • Use triggers such as block break, combat, fishing & more
  • Conditions to fine-tune your drops such as tool, world, regions, weather, permissions & more
  • Add actions including damage, healing, messages, potion effects & more
  • Easy syntax allows you to quickly customize drops & rewards for your server
  • Where-ever possible the official Bukkit lists are used so OtherDrops:
    • supports all current and future blocks, items & mobs
    • supports all current and future enchantments & potion effects
    • supports all current and future biomes, spawn reasons & tree species
    • supports all current and future villager professions, cat & skeleton types
  • Support for special item data:
    • Custom names & lore text
    • Enchanted weapons & armour (or add random enchantments)
    • Enchant anything with unlimited levels (dirt with level 30 damage?)
    • Enchanted books with any enchantment
    • Written books (wtih custom title/author/pages)
    • Leather armour colors
    • Custom fireworks colors
    • Skull types & custom player heads
  • Support for special mob data:
    • Custom names
    • Custom HP (health) for any mob
    • Custom equipment (w/custom drop chance)
    • Baby animals (all "Ageable" mobs - chicken, cow, pig, etc)
    • Tame wolves (including collar color) or cats (& different cat types)
    • Sheep colors and/or whether they haven been sheared
    • Villager professions
    • Powered creepers
    • Baby & villager zombies
    • Agressive level for pig-zombies
    • Wither skeletons
    • Slime & lava-slimes of any size
  • Economy support (via Vault)
    • Support for all major economy plugins (see Vault project page)
    • Players can gain, lose or steal money based on fixed amount or percentage
    • Compatible with "MoneyDrop" to drop physical money items.


  • Multi-world support - create separate files to handle each world
  • Add super rare drops with chance values down to 0.000000001%
  • Specify tools required (or a list of tools eg. [any sword, -diamond sword])
  • Add lorename requirements
  • Heroes class & level conditions
  • Cooldowns


  • Apply actions alongside the drop (or even without a drop)
  • Damage tools
  • Consume items (eg. use dyes to color wool)
  • Damage or heal the victim, player or even the whole world
  • Apply potion effects to the victim, player, radius, world or server
  • Display custom messages (or a list of messages with one selected at random)
  • create explosions, lightning, visual effects (including particles), sound effects
  • run commands


  • Give leaves various chances of dropping apples, sticks, cocoa beans, saplings, etc on break and/or leaf decay.
  • Make glass, stairs, and boats reclaimable (can be tool-specific if you wish).
  • Allow gold and iron to be mined directly into ingots with a golden pickaxe.
  • Allow users to right-click on cobblestone with vines in hand to turn the cobblestone mossy.
  • Nerf mob traps by disabling drops from environmental damage.
  • Unleash the zombie apocalypse by setting zombies to drop zombies when they die! (This can be world-specific.)
  • Make mobs that don't normally spawn naturally spawn.
  • Make mob spawning, drops, and events biome specific!


Dev Builds

Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.

Help Wanted

Would you like to help improve OtherDrops? Here are some ways to get involved:

  • Media/art: OtherDrops could really do with some tutorial and example videos.
  • Testers: Testers who are able to go through the plugin and rigorously check that things (both existing and new features) work as they should. PM Zarius your Skype (or other IM) details if you're interested or jump on the IRC channel.
  • Programming: any assistance is welcomed - see the todo list here for some ideas. Anyone with refactoring and/or automated testing experience that wants to assist would be great.


Many thanks to these people who helped with OtherDrops:

  • Cyklo: creator of the original OtherBlocks. OtherDrops is a continuation of Cyklo's original OtherBlocks (2011) plugin.
  • Celtic Minstrel: many code commits and a major overhaul of the code moving into version 2.0. Moved on to create DropFactory.
  • Rofang: major update of OtherDrops documentation.
  • RugRats13: lots of testing and some documentation.
  • Faldonboy & Steelsouls: currently maintaining and improving the documentation.


Many long nights are spent improving OtherDrops so if you like it please consider a donation to my coffee fund :) Donate


  • OtherDrops uses Metrics for anonymous usage stats (learn more).

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Faldonboy Faldonboy Apr 20, 2014 at 16:50 UTC - 0 likes

    @CommodoreAlpha: Go

    I'm not sure that I've ever tried to use ranged data values, however I get that warning with a lot of other things, it's usually harmless and whatever is giving the warning is still working the way it's supposed to so I'd double check it to make sure it really isn't working.

    It should only be "@" using "/" had some kind of problem before in yaml configurations.

    Last edited Apr 20, 2014 by Faldonboy


  • Avatar of whatthesamm whatthesamm Apr 20, 2014 at 12:28 UTC - 0 likes

    Hi, I'm having trouble using the spawnedby parameter. I'm using the following:


    - spawnedby: NATURAL

    message: ["Test1"]

    - spawnedby: SPAWNER

    message: ["Test2"]

    Every time I kill a zombie it prints both Test1 and Test2. I want to make it only say Test1 when its a natural zombie and Test2 when its a spawner zombie. Please help!

    Last edited Apr 20, 2014 by whatthesamm
  • Avatar of CommodoreAlpha CommodoreAlpha Apr 19, 2014 at 18:21 UTC - 0 likes

    @Faldonboy: Go

    Does using ranged data values on items work for you? For some reason, I get an "error" in my console whenever I try to specify something like "COCOA@0-3", saying that it's illegal data. I'm pretty sure it's correct though, as it's consistent with the documentation. Perhaps I'm just doing something wrong or using something deprecated.

    Also, should specifying something like: "event: EXPLOSION/2/NOBREAK" work? For me, it doesn't work, but when I use "@" instead of "/" it works. I'm asking, because I'm wondering if I should label the use of "/" within such parameters as deprecated and non-functional.

    Last edited Apr 19, 2014 by CommodoreAlpha

    Sure, I'd love to include my server IP here. But it's under construction, and I wouldn't want to get sued for players wandering inside and getting hit by a random beam of steel floating about. And no, I doubt plugins would make very good lawyers either. I've never seen a plugin that forced you to sign a contract do so well.

  • Avatar of CommodoreAlpha CommodoreAlpha Apr 18, 2014 at 17:33 UTC - 0 likes

    @ghr4: Go

    You have to specify the item's data-value. For example, "WOOL@1" would be orange wool. "WOOL" would be all types of wool. "WOOL@2" would be yet another colour of wool. To specify data-values on an item, just add "@<integer>" after the item's material name.

    I'm not sure if using names instead of numbers work, but it wouldn't hurt to try - for example, "STAINED_CLAY@PINK" or "STAINED_CLAY@ORANGE".

    @PratamaJr: Go

    Telling me it doesn't work, then offering sparse information won't allow me to help you. So I can only tell you to figure it out on your own 'till you offer me more information.

  • Avatar of PratamaJr PratamaJr Apr 18, 2014 at 11:37 UTC - 0 likes


    Dirt not dropping

    dirt: - drop: diamond/2

    in drops.yml

    not work


  • Avatar of ghr4 ghr4 Apr 18, 2014 at 06:08 UTC - 0 likes

    Hi, I would like to know how to make a item with a certain data value drop certain drops, for example Pink stained clay drops tnt and Orange stained clay drops apples.

  • Avatar of CommodoreAlpha CommodoreAlpha Apr 16, 2014 at 21:55 UTC - 0 likes

    @ZeEye: Go

    "Is it possible to distinguish between sunlight and normal light?" Short answer is no, because there's no such thing as sunlight. That's not a game mechanic to my knowledge.

    When something is under direct sunlight, that's just a "concurrent condition", where two conditions are met:

    1. There are no opaque blocks between the reference block and the maximum y-level.
    2. The reference block is indeed receiving light (or has a light level that is above 0). Although I don't know if this is an actual condition. (Glass doesn't reduce light levels by the way; if something is truly transparent - or non-opaque - they don't reduce light that passes through.)

    For your colour-coding issue, try using section symbols instead of ampersands to see if that'll work. I believe colour-coding should work in item-lore, but for some reason, many people complain it doesn't, and none have reported back to tell me if using section symbols instead works (it should).

  • Avatar of ZeEye ZeEye Apr 16, 2014 at 17:43 UTC - 0 likes

    As condition, is it possible to differenciate between sunlight and normal lightlevel?

    Like crops growing better in direct sunlight: 10 (through glass) or 15 (only in full sunlight) than in light that emits from torches etc. ?


    Also colorcoding in lorelines doesn't seem to work

        drop: "POISONOUS_POTATO@!SMITE#1~&cPoisonous Potato;&cThis plant couldn't survive. Maybe next time..."

    the "This plant couldn't survive. Maybe next time..." gets shown in the standard purple text color instead of the with "&c" specified light red. The displayname coloring works however.

    Any ideas?

    Last edited Apr 16, 2014 by ZeEye
  • Avatar of CommodoreAlpha CommodoreAlpha Apr 16, 2014 at 03:11 UTC - 0 likes

    @highfaller: Go

    Use damage values. That's how I prevent all possible instances of "break-and-place" dupes on my server. (It's also how, unlike other plugins, I can use the looting enchantment to drop multiple ores without worrying about duplication.)

    You might also want to consider using Item Renamer (requires ProtocolLib) to be able to distinguish between the same items with different damage values better, which can be handy.

    Here's an example of what I'm talking about:

        - drop: DIAMOND_BLOCK@1/4
        - drop: THIS

    If that doesn't work, make sure that the drop is occurring correctly; as in, "DIAMOND_BLOCK@1" drops, and not just plain "DIAMOND_BLOCK@0". If only "DIAMOND_BLOCK@0" drops no matter what you try, it may be a vanilla mechanic restriction.

    Anyhow, if you have any questions, feel free to ask. :)

    @Faldonboy: Go

    Thanks for correcting me. ;)

  • Avatar of Zarkiel7 Zarkiel7 Apr 16, 2014 at 01:23 UTC - 0 likes

    @highfaller: Go

    Maybe you could set right clicking a diamond block to break the diamond block and give 1 back? i think this is more possible than making the diamond blocks you get from one have no drops.


Date created
Aug 27, 2011
Last update
Jul 04, 2013
Development stage
  • enUS
GNU General Public License version 3 (GPLv3)
Curse link
Recent files