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 Apr 20, 2012Ok, I need some help with my YAML formatting. I cannot get this past an online parser.
Problem 1: "glassBreaksDoesDamage" gives an error when I try to use it. Comment it out, and continue parsing.
Problem 2: "damagedLeather" gives an error when I define it. I'm trying to make the equivalent of a curly brace choose one list, and I thought I understood the syntax here.
Change that to a curly brace, and continue
Problem 3: "selfdrop" gives an error when I try to use it. Comment it out, and continue parsing.
The result after all that: It looks like it parsed correctly, but all the commented out stuff means it's not doing what I want.
So ... what did I mess up on the use of aliases? What is the proper syntax of the curly brace stuff?
-
View User Profile
-
Send Message
Posted Apr 20, 2012I'm going to request two aliases:
action: ATTACK
action: USE
as aliases for
action: LEFT_CLICK
action: RIGHT_CLICK
Not all of us are right handed mouse users. Some are left handed, some use keyboards and trackpads, etc.
-
View User Profile
-
Send Message
Posted Apr 20, 2012Ok, lets start at zero, and see if I even have this much right.
First, ignoring the file-specific defaults (example: od-dyewool.yml includes "defaults: actions: right-click", which only affects that file, and does not change the action from break for the other files), the file syntax seems to be (and forgive me for not quite remembering the parser syntax perfectly, but I think this is close enough)
otherdrops: # keyword, must be used in this form
OBJECT: # identifies a YAML map, "OBJECT" is a parameter you set
- { list } # and "list" is a string of YAML maps, keyword colon value, identifying tools, actions, conditions, replacements, etc.
- { list } # Another list of YAML maps
- { list } # as many lists of maps of key/value pairs you want
- { list } # ... and "UNIQUE" and "EXCLUSIVE" apply different forms of restrictions ...
# and then there's "chance:" keywords, and conditional lists ... help here please?
OBJECT2: # And a new object/block/creature/item
- { list } # ... etc.
Second: The OBJECT's can be blocks, creatures, entities (minecarts, boats, paintings), players. But not inventory items.
Third: The various lists can contain actions. If no ACTION: <trigger> is specified, then the file's default is used; if none is specified, BREAK is assumed. It can be changed to RIGHT_CLICK (use) or LEFT_CLICK (attack).
* ASSUMPTION *: "use" and "attack" will work even if you have mapped them to something other than a mouse click.
Example: A Hoe, with right click, on dirt, becomes farmland, without having to attack/break the dirt.
otherdrops:
GRASS:
- tool: ANY_HOE
action: RIGHT_CLICK
replacementblock: FARMLAND
damagetool: 1 # Apply one point of wear to the tool
Better: Define an alias for that list of 4 maps, so that the same list can be applied to dirt or mycelium.
... and now, if I understand things correctly, an alias can only be defined either in its own top level section (alias: instead of otherdrops:), or as an "define as it is used" in-place definition, similar to &glassbreak in fixundroppables. That means AFTER the block name (GRASS:) and before the start of the list (before the -tool: line).
aliases:
&Farmland:
- tool: ANY_HOE
action: RIGHT_CLICK
replacementblock: FARMLAND
damagetool: 1 # Apply one point of wear to the tool
otherdrops:
GRASS:
*Farmland
DIRT:
*Farmland
MYCELIUM
*Farmland
But nothing says that there can only be one section for a block. So later I could say that grass does not drop as itself.
aliases:
&AsDirt
- tool: ANY
action: BREAK
drop: DIRT
otherdrops:
GRASS:
*AsDirt
MYCELIUM:
*AsDirt
FARMLAND:
*AsDirt
And both of those groups -- the farming and the digging -- can work together even if out of order as I have shown.
In fact, order does not matter -- as long as there is no "UNIQUE" specified, everything is applied. UNIQUE with a chance means that that one clause overrides everything else some percent of the time. If a drop clause is duplicated (perhaps being in several example files), it will trigger multiple times.
But this last bit isn't accurate. I have "tool: ANY". It should be "tool: ANY_SHOVEL", with one point of damage, tool: AIR with no damage, and tool: ANYTHING_ELSE with 2 damage.
Ok, so how do you specify "ANYTHING ELSE"?
-
View User Profile
-
Send Message
Posted Apr 20, 2012I am trying to read the documentation here on the wiki (instead of just looking over the samples), and the alises's page has garbled markup that I cannot decipher.
-
View User Profile
-
Send Message
Posted Apr 20, 2012How can I have SILK_TOUCH do one thing, and non-SILK_TOUCH do something else? I cannot find a toggle for any of the enchantments (SILK_TOUCH is the most obvious)
How would I set up a set of exclusive chance drops? Just as a simple example: Lets say a zombie were to have a 25% chance of dropping a leather helm, or leather chestplate, or leather boots, or leather leggings. Guaranteed to drop one, but a 25% chance of any of them. For bonus points, make them damaged and almost dead (5-10 hits left).
(Makes more sense than killing 30 cows after spending 60 wheat making babies :-).
Fix-undroppables has this. Is it even need anymore?
# Stairs drop stairs rather than a block
WOOD_STAIRS:
- tool: ANY_AXE
drop: WOOD_STAIRS
COBBLESTONE_STAIRS:
- tool: ANY_PICKAXE
drop: COBBLESTONE_STAIRS
BRICK_STAIRS:
- tool: ANY_PICKAXE
drop: BRICK_STAIRS
SMOOTH_STAIRS:
- tool: ANY_PICKAXE
drop: SMOOTH_STAIRS
How can I have something happen based on light level? Right now I can have things based on day or night. I want, for example, to say "Breaking grass in the dark may spawn a zombie" -- surface dirt where someone may have died sort of test.
With regard to this --
ICE:
- tool: GOLD_PICKAXE
drop: ICE
chance: 40
- world: world_nether
drop: NOTHING # disable ice dropping water in the nether
How would I say "Do not drop water in the nether, but you still have the chance of getting an ice block" (in other words, override the default water but still leave the gold tool special)
For trees: I can find GENERIC, BIRCH, and REDWOOD; what's the 4th type called? Can these be used with WOOD_PLANKS?
err, where are PLANKS? I just checked, and they don't exist in the materials list.
PLAYER:
- tool: ALL
drop: ZOMBIE
quantity: 1
Am I correct in reading that as "Do not drop your inventory, it is destroyed"?
If so, how would I also drop inventory and worn armor?
REDSTONE_ORE:
- tool: GOLD_PICKAXE
drop: GLOWSTONE_DUST
quantity: 4
GLOWING_REDSTONE_ORE:
- tool: GOLD_PICKAXE
drop: GLOWSTONE_DUST
quantity: 4
How would I specify FORTUNE to drop more?
##########
# Saddled pigs drop their saddles
###
PIG@SADDLED:
- tool: ALL
drop: SADDLE
quantity: 1
How would I say "In addition to normal"? Right now "Overrides defaults" seems to be the norm with no way to say "in addition to norm".
Is this being done correctly:?
# Claysoil. 64 dirt generates about 12 clay balls.
DIRT:
&dirt # create an alias for this config to use in GRASS and MYCELLIUM
- tool: ANY # with any tool...
drop: DIRT # Broken w.r.t silk touch
- tool: ANY
drop: CLAY_BALL
chance: 18.75%
GRASS:
*dirt
MYCELLIUM:
*dirt
-
View User Profile
-
Send Message
Posted Apr 20, 2012I love this plugin, but I have run into a problem. When using this plugin I get an error with a plugin called Register which is part of Towny. The error is as follows...
Towny developer says that it's the fault of a third party plugin using old code, and when testing, I found that it is otherdrops causing the problem. Please fix this asap.
-
View User Profile
-
Send Message
Posted Apr 19, 2012Spam at logs -_- and cause sometimes crash server
-
View User Profile
-
Send Message
Posted Apr 19, 2012@ZariusT
I added a BossDeathEvent to my mod, but I'm not sure if it's convenient enough. Currently it will provides you the drops list that will be added to the original one, or that will overwrite the original one (depending on user's preference).
It can be bad because if I process the EntityDeathEvent first, you'll receive the BossDeathEvent without knowing anything about original drops, then you'll receive my final drop list in your EntityDeathEvent listener. From there good luck if you wish to keep only the boss drops :D
So, how do you think I should make my BossDeathEvent? I can give it the boss drops list as well as the original one (emptied or not, depending on user's preference again). I guess that would give you more control on the final list.
But in any case you will process both event, original one and mine, and depending on priorities what you have to do can be different. I had the same problem with Bloodmoon and MobHealth authors (BossSpawnEvent and BossDamageEvent respectively), in fact the guy from MobHealth gave up using it and found a workaround, and the one from Bloodmoon tries to find another solution.
-
View User Profile
-
Send Message
Posted Apr 19, 2012@keybounce
The problem with the latest version(s) of Bukkit is that the damage function changed so zero damage now causes a damage effect on players (this effects anything configured through OtherDrops versions before 2.6-beta1).
2.6-beta1 should work fine with 1.2.5 except there's a bug with drops overriding (or not) the default drops. @Zameil - not inactive, just been too busy :( I'm still reading the messages here (I get email updates) and hoping to get a new build out this weekend (after doing a short triathlon Saturday morning :)
Gotta run - I'll try and answer other posts later.
-
View User Profile
-
Send Message
Posted Apr 19, 2012@keybounce
Most if not all of the features seem to be working, however there is a few things broken, like logging of blocks and users taking damage from breaking blocks, but overall it's some what useable.
-
View User Profile
-
Send Message
Posted Apr 19, 2012What is the status of the 1.2.5 version? Is the 1.2.4 version working on 1.2.5? (Yes, I saw that it's beta -- what sort of issues are known for it?
-
View User Profile
-
Send Message
Posted Apr 18, 2012Not sure what the deal is.. but when I try and change a mobs default drop to nothing.. it still drops the default drop.
This very simple change is producing the default drop every single time.. I cant for the life of me get the sheep.. or any other friendly animal mob to drop nothing..
I can change the drop to another block but then it drops the block plus the default.. Anyone else having this issue?
-
View User Profile
-
Send Message
Posted Apr 18, 2012Help... So I was changing the zombie... and my config looks like this:
zombie: - drop: {371/1/50%, 371/2/30%, 371/3/15%, 371/4/5%}
Well most/half the time the zombie drops nothing.... what did I do wrong?
-
View User Profile
-
Send Message
Posted Apr 18, 2012@deleted_6947223
Possibly downgrade then. I don't have the most recent version of vault and it's working fine for me. That's the only suggestion I have. This author doesn't seem to be active.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@Zameil
I have the latest version
-
View User Profile
-
Send Message
Posted Apr 18, 2012@deleted_6947223
Update vault?
-
View User Profile
-
Send Message
Posted Apr 18, 2012I still have this Warning:
18-4-2012 16:47:15 [INFO] [OtherDrops:2.6-beta1] Events loaded: [EXPLOSION, SHEAR,
UNSHEAR, SHEARTOGGLE, DYE, TREE, FORCETREE, LIGHTNING, STORM, THUNDERSTORM]
18-4-2012 16:47:15 [INFO] [OtherDrops:2.6-beta1] Loading file: otherdrops-drops.yml
18-4-2012 16:47:15 [INFO] [OtherDrops:2.6-beta1] Using Bukkit superperms.
18-4-2012 16:47:15 [WARNING][OtherDrops:2.6-beta1] ...couldn't hook into Vault economy
module. 18-4-2012 16:47:15 [INFO] [OtherDrops:2.6-beta1] OtherDrops loaded.
-
View User Profile
-
Send Message
Posted Apr 17, 2012Just curious when an update could be expected? This bug with players getting a damage animation upon triggering a custom drop by breaking a block is kinda.... annoying. I love this plugin, but this makes it irritating to use.
-
View User Profile
-
Send Message
Posted Apr 17, 2012@DoubleZ
action: RIGHTCLICK
on the 2nd one (ice) is missing. The rest should work. Also try using:
tool: [8,9]
because they're both waters. Hopefully this'll work. If the [8,9] doesn't make another group and use tool: 8 and tool: 9 on the 2nd one. That should do it.
If you got any more questions I'm willing to try your config and see if I can figure out if I'm able to get it working.
You should also get rid of "replacementblock", because people will be able to destroy the blocks they're looking at with ice/water!
-
View User Profile
-
Send Message
Posted Apr 17, 2012I realize that this is a silly question, but is there a way to use the IRL date as a parameter?