OtherDrops

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)
- Install & setup first custom drops
- Customising mob & block drops
- Customising money & XP rewards
- Customising fishing rewards
- Customising mob spawns
Core Features
- 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
- Future Support
- Where-ever possible the official Bukkit lists are used so OtherDrops supports all current and future:
- blocks, items, mobs, enchantments, potion effects, biomes,
- spawn reasons, tree, 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, HP (health) & equipment for any mob
- Baby animals (all "Ageable" mobs - chicken, cow, pig, zombie etc)
- Tame wolves (including collar color) or cats (& different cat types)
- Sheep colors (and sheared/unsheared)
- Villager professions, villager zombies, powered creepers & 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.
Conditions
- 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])
- Lorename, Heroes (class & level) conditions
- Cooldowns
Actions
- Apply actions alongside the drop (or even without a drop)
- Damage tools and/or 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
Ideas
- 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!
Documentation
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.
Thanks
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.
- CommodoreAlpha: community support on the comments/forum, assisting with documentation.
Many long nights are spent improving OtherDrops so if you like it please consider a donation to my coffee fund :) 
- OtherDrops uses Metrics for anonymous usage stats (learn more).

-
View User Profile
-
Send Message
Posted Jun 27, 2013@xBladeM6x drop: ZOMBIE@!!eq:chest:leatherchestplate%0@yellow!!eq:legs:leatherpants%0@yellow!!eq:feet:leatherboots%0@yellow
adding %0-100 changes the chance of itemdrop, if its %0 it will not drop the item wearing.
@iSleepzZz I believe its supposed to be like this:
MELONBLOCK:
- trigger: BREAK
drop: DENY
tool: [ANY, -ANY_HOE]
message: "You need to hoe."
- drop: melonslice/3-4
tool: ANY_HOE
I tested it and it works now, when breaking with anything else than Hoe it will give message "You need to hoe." and the block wont be broken.
Same thing works with Pumpkin.
PUMPKIN:
- trigger: BREAK
drop: DENY
tool: [ANY, -ANY_HOE]
message: "You need to hoe."
- drop: PUMPKIN/1
tool: ANY_HOE
Also if you wish to have "failure" chance when breaking the pumpkin or melon just do this:
PUMPKIN:
- trigger: BREAK
drop: DENY
tool: [ANY, -ANY_HOE]
message: "&cYou need to use a hoe."
- tool: [ANY_HOE]
drop: AIR
chance: 20
message: "&cYou failed to harvest the Pumpkin!"
flags: UNIQUE
- tool: ANY_HOE
drop: PUMPKIN
MELON BLOCK:
MELONBLOCK:
- trigger: BREAK
drop: DENY
tool: [ANY, -ANY_HOE]
message: "&cYou need to use a hoe."
- tool: [ANY_HOE]
drop: AIR
chance: 35
message: "&cYou failed to harvest the Melon!"
flags: UNIQUE
- tool: ANY_HOE
drop: melonslice/3-4
@ZariusT
One thing i still wonder, is it possible to add durability loss into tool?
for example i have that if you use shears to stonebrick, it turns into chiseled stonebrick but the shears wont lose any durability :(
-
View User Profile
-
Send Message
Posted Jun 26, 2013@ZariusT
It is possible to add enchant to mob eq?
-
View User Profile
-
Send Message
Posted Jun 26, 2013\/ I would like the melon block to NOT be broken unless you are using a hoe to break it.
-
View User Profile
-
Send Message
Posted Jun 26, 2013Why isn't this working? MELONBLOCK: - drop: DENY tool: [-ANY_HOE] message: "You need to hoe." - drop: melonslice/3-4 tool: ANY_HOE
-
View User Profile
-
Send Message
Posted Jun 26, 2013@DokuProductions
Hmm, sorry - I think I did that wrong - "damage" applies to the attacker in this instance because of the way OtherDrops is built (mainly to customise drops). I do want to make it easier to define custom items later but for now you need to use "damage.victim" instead - eg.
Sorry I got it so wrong the first time round :\
Also, this might help:
-
View User Profile
-
Send Message
Posted Jun 26, 2013@ZariusT
That helps! I think I understand that now. Okay, got it. As for the damage thing, does that include damage to other players as well?
-
View User Profile
-
Send Message
Posted Jun 26, 2013With something like this:
How do I make it so when they're killed, they don't drop the gear they're wearing?
Edit: I believe the way I can do this, is to manually add each "normal" drop into the ZOMBIE: category by making the trigger be "ANY", and therefore can cancel out anything (the gear) other than the "normal" drops, or special drops I want. If there's an easier way, I'd love to know, but this seems to work in the meantime. Which is fine. :P
Also, when using this:
How can I make it so that it drops the normal drops, (while cancelling the gear example I showed above) but also stop them from dropping items when spawned from mob spawners? Because this doesn't work. :[
-
View User Profile
-
Send Message
Posted Jun 26, 2013@LanToaster
Hmm, determining the bow that the arrow was shot from is not possible yet - good idea though, could you post your suggestion as a ticket so it doesn't get lost?
@Tritek
Yes, should be possible, eg:
Add chance values, etc to your liking.
@IamChaoz
Thanks :)
@xBladeM6x
GammeXPlay's example should work for the wither skeletons. Hostile Iron Golems won't be possible in OtherDrops unless Bukkit provides an API for it. Whenever I get around to OtherMobs though I might consider other options for making friendly mobs hostile.
@semirotta
Just one note there: [DAY, NIGHT] actually skips dusk & dawn... order of time is dawn, day, dusk, night - with DARKNESS covering dusk, night & dawn. Not obvious at first - perhaps I ought to swap it around so that it's dawn, day, dusk, darkness with NIGHT covering dusk, night, dawn....
@CommodoreAlpha
Yeah, I understand people wanting to find a solution for the OR droplist but including messages. Currently there's no way to do it and I am looking into solutions but I'm not sure that "disjoint: boolean" is the right term for it. I'm thinking something like "exclusivelist" - "exclusive" to indicate that if one occurs the others don't and "list" to indicate that they are all considered together.
This "exclusivelist" would be functionally the same as the curly brackets.
-
View User Profile
-
Send Message
Posted Jun 26, 2013@DokuProductions
Actually, the statement "I can't find any guide to follow" implies that I haven't provided any guides or that they are not easy to find. I know the documentation needs work but I have placed the "getting started" section at the top of the page so I'm not sure I can make it easier to find.
If you meant that you did find a guide but couldn't follow it then you should be stating it that way instead - it's a small distinction but makes a big difference in the communication. Would help me more if you let me know which guides/docs you read and what specific problems you still had (eg. finding a list of mob/tools - I'll try and make the official Bukkit lists easier to locate).
Most of the tools are fairly self-explanatory though, if you just use the Minecraft name for the tool it should work, and if the Minecraft name doesn't work let me know so I can fix it.
Also, it appears you've just copied/pasted my example without thinking about what you want to do. I typed it in a rush it seems and had a couple of mistakes however the error you got "No enum constant org.bukkit.TreeSpecies.RED" should give you a clue - there's no red trees or red wood, I meant to type WOOL@RED instead.
With the example I gave and taking names from Minecraft you should be able to copy/paste a heap more custom tool/item damage sections without the need to refer to any of the documentation.
With the "unknown material ($5)" that's because whilst I intend to support SHEEP: $5 as a config I haven't actually added it yet, sorry. It currently needs to be just SHEEP: 5 (which will be interpreted as 5 "money" dropped when the sheep is killed).
One tricky thing about OtherDrops worth mentioning is that it's not about defining the damage for the item, it's about defining the damage that occurs when something is hit with the item - might make it easier when you think about it this way.
-
View User Profile
-
Send Message
Posted Jun 26, 2013@DokuProductions
When you say you read the guides and don't understand them at all, do you mean that you don't understand how the information located within each page come together in the configuration, or that you just don't understand anything on each page?
I can understand the former. As of now, the documentation is a bit disorganised, but will get better, presumably. I had to poke around myself to figure how things come together. What I suggest, is to look at the "Tools," "Objects," "Parameters," and "Drops" pages for this plugin, while looking at preset examples at the same time. This is to understand what each feature does, while seeing how it is written in the configuration.
If your case of misunderstanding is the latter, where you cannot understand the content on each individual page at all, then I must say I misunderstand you. If you look at the four pages I mentioned above and read them all, while looking at examples, it should be very clear how this plugin is configured.
Now, to answer (sort of) your question from all the way back yonder (you asked why your pasted configuration doesn't work). Here's the paste you made. From what I see, you've basically made the drops non-disjoint, which is the same functionality that brackets serve. Except that the important distinction from brackets in your configuration is that each drop gets its own message. Why are your configured drops non-disjoint? Because the plugin reads all of it when that event is triggered. There's nothing telling the plugin that each drop is disjoint, so really, all those drops will stack.
What can you do about this to get that feature you want? Make a suggestion to add in an idea in the form of a ticket. And also give the developer an idea as to how one can implement the idea. But since I'm already so in-depth to your question, I'll provide an idea for how it can be implemented for you.
@ZariusT
Okay, I'm suggesting an idea on that^ guy's behalf. Perhaps you could add a new parameter like so:
This will cause a certain drop to be disjoint, meaning if this drop does happen, the other drops cannot happen. All disjoint drops under an entry must add up to 100%, otherwise it wouldn't make any sense. The plugin would read all disjoint drops under an entry at the same time, as opposed to one-at-a-time, because the percentages of each disjoint drop are relative to each other.
@DokuProductions
Keep in mind the way people respond to you might not be reflective of what they actually mean, especially when it's 2am and you just got off from ranting on a forum or something.
Also do note it helps to be specific when it comes to an issue. Instead of asking "Why does this configuration not work?" (though a genuine question, it might sound irritating to some), you could ask, "Does the plugin support disjoint drops, because I'm trying to blah blah blah." I also don't mean to single you out, but notice how not many others are complaining about being unable to understand the documentation, meaning you might be approaching reading the documentation wrong (again, it is a tad bit disorganised). And if you need any more help on your configuration, PM me and I'll be happy to help. :)
-
View User Profile
-
Send Message
Posted Jun 26, 2013@DancingWalrus
Does work.
PLAYER@Notch:
- trigger: PLAYERJOIN
message.server: "[Creator] Notch has joined the server!"
That works just fine for me when i changed Notch into semirotta (my in game name)
@IamChaoz This is for 100% chance
SKELETON:
- action: mobspawn
drop: skeleton@wither
you must add after drop: skeleton@wither
chance: 0-100
for not every skeleton spawn as those. This is what i use:
SKELETON:
- action: mobspawn
drop: skeleton@wither
chance: 1.5
biome: [JUNGLE, DESERT]
time: [DAY, NIGHT]
This makes Wither Skeletons to spawn instead of Skeleton with 1.5% chance (every time skeleton spawns has 1.5% chance of spawning wither skeleton instead)
but it only happens in Jungle and Desert biome, during day and night :)
-
View User Profile
-
Send Message
Posted Jun 26, 2013Didn't work. D;
-
View User Profile
-
Send Message
Posted Jun 26, 2013@xBladeM6x
I know you can spawn Wither Skeletons in the normal world just do this
I'm pretty sure that should work I don't know about iron golems.
-
View User Profile
-
Send Message
Posted Jun 26, 2013Is it possible to spawn wither skeletons in the normal world, and is it possible to spawn hostile iron golems? Would love to know how if possible, thanks. :3
-
View User Profile
-
Send Message
Posted Jun 26, 2013@ZariusT
thanks man, this is my favorite plugin and it always will be <3
-
View User Profile
-
Send Message
Posted Jun 26, 2013It is possible to spawn mobs with armor on worldguard region?
-
View User Profile
-
Send Message
Posted Jun 26, 2013Hi, would it be Possible to trigger a Drop/Event when some creature is hit by an Arrow from a specific Bow?
-
View User Profile
-
Send Message
Posted Jun 26, 2013@ZariusT
He said that I wanted to make you do everything for me. Which is, in fact, implying laziness. If this is my previous statement you are referring to:
"I've tried to understand it before but I got stuck and I can't find any guide to follow."
I did not say that you didn't have any documentation- I just said I couldn't find the documentation I needed. There's a big difference. Or is it that google statement which really had nothing to do with guides but rather names for tools? Either way, I didn't even know exactly what I was supposed to be looking for. Thing is, I read your guides and did not understand them at all (hence I said 'to follow' since I can't follow a guide that I don't understand) which is why I'm asking for help in the first place. I never ask for help unless I have tried to figure out everything on my own first.
pastebin.com/D2gH14B0
-
View User Profile
-
Send Message
Posted Jun 26, 2013@Morphiedev
Cool, glad you like it :)
"0.50" & ".50" are always the same (the zeros on either side are irrelevant - you could even use "0000.500000". Chance values are always taken as a percentage with OtherDrops so 1 = 1% rather than 100%. Therefore "0.50" = "0.50%".
@IamChaoz
You're right - I'll set that as the default (coords with no decimal places) with an option to change the rounding if people wanted to.
Will consider the damage one.
@mat41997
Thanks for the suggestion but the Bukkit API doesn't currently provide a way to hide potion visual effects & inventory status.
-
View User Profile
-
Send Message
Posted Jun 26, 2013@mat41997
Would be much cleaner this way
[Mining_Fatigue@0;HideEffect;HideEffectInv;EditNameEffectInv:&6Hehehe]