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 Feb 7, 2012@ZariusT
It was a weird bug in game, glad to see it being fixed. :D
-
View User Profile
-
Send Message
Posted Feb 6, 2012@WayGroovy
Didn't get to checking the last not, will look into it.
-
View User Profile
-
Send Message
Posted Feb 6, 2012@Jadedwolfs
Found the bug. It was processing extra hawkeeye events if you had configured any left or right click configs for blocks. Will be fixed in next build.
-
View User Profile
-
Send Message
Posted Feb 6, 2012@ZariusT
Thanks for the quick response.
Every time I try a negative value for damageattacker I get reports that nothing is dropping correctly. Disabled for now, will retest later. Haven't tried verbose logging yet to see what is happening.
-
View User Profile
-
Send Message
Posted Feb 5, 2012@ZariusT
Yes, right, when a user "logs" the block it shows up as that user breaking it. Not only breaking it but breaking it like 20 times. Maybe it's not allowing for blockbreak cancel events?
-
View User Profile
-
Send Message
Posted Feb 5, 2012@Jadedwolfs
Hmm, that's odd. The logging is only supposed to run once per event and only for block break events. I look into it as soon as I can. Btw, when you say it appears as the admin logging you mean when they left or right click with the log, right?
@WayGroovy
Negatives should work, give it a go and let me know.
-
View User Profile
-
Send Message
Posted Feb 5, 2012@ZariusT
There is an issue with hawkeye logging that I only started to notice recently, A few of my staff on my server started noticing weird logging via hawkeye. For instance when a person broke an ore (one that have something in otherdrops) it would come up double, or even come up as the person logging it, saying thus user logging it broke the ore. It's very strange. I did pin point it to being otherdrops for sure. I mean it's annoying and confusing at worse.
-
View User Profile
-
Send Message
Posted Feb 5, 2012Thank you for this plugin, it works wonderfully.
Can a negative value be assigned to damageattacker, or is there any way to heal a user of an item?
-
View User Profile
-
Send Message
Posted Feb 4, 2012Any chance we could get a compatibility fix for MobArena?
Currently, it doesn't respect MobArena's protections, and can cause blocks to disappear because they are respecting OtherDrops's drops :P
-
View User Profile
-
Send Message
Posted Feb 1, 2012@Undectectable
Looks like a playerinteractevent (and not with an entity) where getClickBlock() is null - odd. I've put in a check (in the next build) anyway so at least you don't get the NullPointerException.
-
View User Profile
-
Send Message
Posted Feb 1, 2012Im getting this error a lot with otherdrops. Any help greatly appreciated :)
01.02 22:51:58 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57)
01.02 22:51:58 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:342)
01.02 22:51:58 [Server] INFO at com.gmail.zariust.otherdrops.listener.OdPlayerListener.onPlayerInteract(OdPlayerListener.java:43)
01.02 22:51:58 [Server] INFO at com.gmail.zariust.otherdrops.event.OccurredEvent.<init>(OccurredEvent.java:206)
01.02 22:51:58 [Server] INFO at com.gmail.zariust.otherdrops.event.OccurredEvent.setLocationWorldBiomeLight(OccurredEvent.java:419)
01.02 22:51:58 [Server] INFO java.lang.NullPointerException
01.02 22:51:58 [Server] SEVERE Could not pass event org.bukkit.event.player.PlayerInteractEvent to OtherDrops
01.02 22:51:58 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
01.02 22:51:58 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434)
01.02 22:51:58 [Server] INFO at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:536)
01.02 22:51:58 [Server] INFO at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
01.02 22:51:58 [Server] INFO at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:587)
01.02 22:51:58 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
01.02 22:51:58 [Server] INFO at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
01.02 22:51:58 [Server] INFO at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:38)
01.02 22:51:58 [Server] INFO at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:192)
01.02 22:51:58 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:845)
01.02 22:51:58 [Server] INFO at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:157)
01.02 22:51:58 [Server] INFO at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:187)
01.02 22:51:58 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:327)
01.02 22:51:58 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57)
01.02 22:51:58 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:342)
01.02 22:51:58 [Server] INFO at com.gmail.zariust.otherdrops.listener.OdPlayerListener.onPlayerInteract(OdPlayerListener.java:43)
01.02 22:51:58 [Server] INFO at com.gmail.zariust.otherdrops.event.OccurredEvent.<init>(OccurredEvent.java:206)
01.02 22:51:58 [Server] INFO at com.gmail.zariust.otherdrops.event.OccurredEvent.setLocationWorldBiomeLight(OccurredEvent.java:419)
01.02 22:51:58 [Server] INFO java.lang.NullPointerException
01.02 22:51:58 [Server] SEVERE Could not pass event org.bukkit.event.player.PlayerInteractEvent to OtherDrops
01.02 22:51:38 [Server] INFO KillCam: §cUndectectable§f§f has been respawned!
01.02 22:51:20 [Server] INFO KillCam: §cUndectectable§f§f died.
01.02 22:51:04 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
01.02 22:51:04 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434)
01.02 22:51:04 [Server] INFO at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:536)
01.02 22:51:04 [Server] INFO at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
01.02 22:51:04 [Server] INFO at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:587)
01.02 22:51:04 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
01.02 22:51:04 [Server] INFO at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
01.02 22:51:04 [Server] INFO at net.minecraft.server.Packet18ArmAnimation.handle(SourceFile:38)
01.02 22:51:04 [Server] INFO at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:192)
01.02 22:51:04 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:845)
01.02 22:51:04 [Server] INFO at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:157)
01.02 22:51:04 [Server] INFO at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:187)
-
View User Profile
-
Send Message
Posted Feb 1, 2012@Jadedwolfs
New pre-release 2 - hawkeye version out too.
@Tritonpv
Yeah, should be able to add blaze no problems.
Regarding the damage - you can use "damageattacker: 1" or "damagetool: 1" depending on what you are wanting to do.
-
View User Profile
-
Send Message
Posted Feb 1, 2012<<reply 520509>>
Im just make muther-child permissions: CREEPER: – tool: ANY_SWORD drop: REDSTONE quantity: 1-2 chance: 5 permission: “solider.creeper_1” – tool: ANY_SWORD drop: REDSTONE_ORE quantity: 1 chance: 3 permission: “solider.creeper_2” – tool: IRON_SWORD drop: IRON_INGOT quantity: 1 chance: 5 permission: “solider.creeper_3” – tool: DIAMOND_SWORD drop: DIAMOND quantity: 1 chance: 0.5 permission: “solider.creeper_4”
So I can give permission for all with: otherdrops.custom.solider.*
but my drop list is way much looonger. :)
My questions:
-Can I add BLAZE to the list?
-Is it posible to give damage modification to a drop:
for example: LOG: – tool: ANY_AXE drop: COAL@CHARCOAL quantity: 1 chance: 10 damage: -1 permission: “woodc.coal”
-
View User Profile
-
Send Message
Posted Feb 1, 2012@ZariusT
Fixing it so you only needed one version would be really, really nice.
-
View User Profile
-
Send Message
Posted Jan 31, 2012@Jadedwolfs
No, it was 1am and I needed to get to sleep :-) It has a large change to the main drop procedure however so might fix that default drop issue. I'll post a hawkeye version soon, prob a few hours though. Wish I could work out why it won't work all the time with that new hawkeye code.
Note: the prerelease removes the 'exclusive' parameter, which was buggy, in favor of more powerful use for the 'unique' flag.
-
View User Profile
-
Send Message
Posted Jan 31, 2012@ZariusT
Does that have hawkeye logging?
-
View User Profile
-
Send Message
Posted Jan 31, 2012@Jadedwolfs
Hmm... odd, I'll test when I get home but if you get a chance beforehand can you try out this new pre-release (2.3-pre1)?
@owenftw
Not really, otherdrops can add to player death drops or block the inventory from dropping but it'd require a lot more changes to add partial inv drops and is more in the realm of a separate player death management plugin.
@Tritonpv
For anyone else wondering, the answer is yes - you can add "permissions" to the default settings at the top of a included yml file. @Tritonpv - let me know how it goes :)
-
View User Profile
-
Send Message
Posted Jan 31, 2012@ZariusT
The enderman option -drop DEFAULT Does not work. They do not drop enderpearls.
-
View User Profile
-
Send Message
Posted Jan 31, 2012Is it possible to make it so Players only drop 40% of the inventory when they die?
-
View User Profile
-
Send Message
Posted Jan 31, 2012Can I give permission for to a whole yml file?
this is it?
default:
permission: allbelow_1
dirt:
......
EDIT:
Got it but thanks your prew answer :)