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 Nov 27, 2014@Onewingseraphim
It has nothing to do with TreeAssist and everything to do with the fact that WorldGuard is now version 6.x instead of 5.x, which means that all plugins which used to support WorldGuard 5.x have broken support for WorldGuard 6.x.
It can be fixed by updating the hook into WorldGuard. The error is benign, however, so there is no need for a rapid bugfix response to this.
-
View User Profile
-
Send Message
Posted Nov 27, 2014I keep getting spammed with this message here:
[Server thread/ERROR]: Could not pass event LeavesDecayEvent to OtherDrops
Console Message: http://pastebin.com/f3BcMtSm
I think I saw somewhere about worldguard permissions for leaf decay or something similar to that, I think it happens when Tree-Assist breaks the tree down and rapidly decays the leaves.
Any idea what could be done to fix that?
I'm using Spigot 1.7.9 btw
-
View User Profile
-
Send Message
Posted Nov 26, 2014@ZariusT
Actually, wouldn't specifying player names be problematic as skins are based on UUIDs now?
-
View User Profile
-
Send Message
Posted Nov 26, 2014Howdy :-)
Names with dots should be supported if surrounded by quote marks (it's the config file that doesn't like the dot with quotes) but probably won't do anything yet.
Custom heads can be dropped if you know the name of a player with that skin but keep in mind that if the player changes their skin then your custom drop will change too.
-
View User Profile
-
Send Message
Posted Nov 26, 2014@Onewingseraphim
There are no such thing as spider or endermen heads in vanilla Minecraft. Plugins can imitate the effect of a "spider head" or some other mob head but cannot create one, as that would require a mod. How it works is that they basically reskin a player head based on a stock player with that specific skin. This requires editing NBT data on the player head, which OtherDrops currently has no support for.
I can, however, redirect you to a plugin that deals with player heads.
-
View User Profile
-
Send Message
Posted Nov 26, 2014@mrretrus
Yea the "dot in name" bug is what I spotted in one of my first comments here. It should be considered a bug, because names with dots in them should be supported for the sake of the future customizations ;} Not sure if it's just about OD not reading the name after dot, maybe it's about how Cauldron works? I guess there are 0 vanilla names with dots in them so it's impossible to test it further.
But did you try other mod mobs in your OD config. I know, you probably don't need them, I'm only asking for the sake of testing, because the correct enum for ProjectZulu mod mobs does not work, although it shows no errors for the config.
@CommodoreAlpha
Thanks, you don't owe me anything, so no need to say 'sorry' ;}
I was actually just throwing some info from my tests that, I hope, might help others, and with a tiny chance, help ZariusT if he will go for implementing this someday.
Basically, what my tests show, is that adding the support for ID names of mod mobs is, sadly, not supposed to help perfectly, and that "other methods" should actually go for using Forge events somehow, or overwriting them, and that's not something we could dare to ask :{
But well, as been said before, it's a great plugin anyway, a real minecraft spirit in it. MC to me is all about customization ;}
-
View User Profile
-
Send Message
Posted Nov 26, 2014If I wanted a mob to drop their own head how would I do that in the drop table?
I don't want just the vanilla heads I'd like custom mob heads like Spider, Enderman, etc.
-
View User Profile
-
Send Message
Posted Nov 25, 2014Thats fine- I just really like the plugin and thought maybe my scrutiny could be useful. For one thing though I can say that it does support items and blocks from mods- which is a nice thing to add support for FTB, and hopefully ZariusT gets intrigued enough to look into adding support for this :)
Thanks guys! Great plugin
-
View User Profile
-
Send Message
Posted Nov 25, 2014@mrretrus
I'm going to be honest and say that I have very little experience working with mods, and I definitely have no knowledge of programming whatsoever. So at this point, don't expect me to be very helpful. You'll just end up getting some possibly misleading speculation from me. ;)
As for your "/od id" command and stopping at the period, I don't really know why that happens. It could be that the command just stops reading after it parses the period. Have you tried some random gibberish with this command like "abc.example" to see if it returns "abc"? If it returns that, it's strong evidence in favour of my suspicion, and that "unknown material Forestry" has nothing to do with OtherDrops picking up on the mod or anything like that.
@Graitt
Sorry for being unhelpful, but I'm just going to restate what I know. OtherDrops currently cannot support mod mobs/biomes because they're not exposed as numerical IDs, only by name. Why OtherDrops cannot read the name is beyond me - I can only say unsatisfyingly that "OtherDrops just does not support it." To quote @ZariusT:
"via other methods" would imply that supporting the biome/mob enum from mods is not something one can simply do through Bukkit alone; if it were possible, OtherDrops would have (presumably) had support a long time ago.
In a nutshell, all we can do is sit tight and wait for now. I understand your anticipations - I certainly have mine too - but there's nothing we can do as of yet.
-
View User Profile
-
Send Message
Posted Nov 25, 2014yes... Now hopefully CommodoreReads my post underneath yours and understands what I mean about the period possibly being the reason why I cant use enums :p Because if was as easy as something like extending the string after a period, and that worked, immediately that would add support for custom mobs since the enum is there and SOME part of OD can read it so...
-
View User Profile
-
Send Message
Posted Nov 25, 2014I didn't even know about the /od id mob (I'm usually at the console so ;} ) and I've tried it now, and wow, it actually shows the name I used, it's like
OdId: mob details: PROJECTZULU|CORE_RHINO@!!!!ItemStack{AIR x 1}%10.0%!!ItemStack{AIR x 1}%10.0%!!ItemStack{AIR x 1}%10.0%!!ItemStack{AIR x 1}%10.0%!!ItemStack{AIR x 1}%10.0%%3000.0h spawnedby: not set
As to /mob show PROJECTZULU|CORE_RHINO, it gives this
Block CREATURE_PROJECTZULU|CORE_RHINO (BREAK): (1)
Chance: 100.0
Agent: [[STARVATION], [FIRE_TICK, FIRE, LAVA], [FALL], [SUFFOCATION], [DROWNING], [BLOCK_EXPLOSION], [ENTITY_EXPLOSION], [CONTACT]]
Delay: 0
Messages: (none)
Quantity: 1.0
Drop: AIR
Commands: []
Drop spread: 0.0% chance (2)
Chance: 100.0
Agent: [[STARVATION], [FIRE_TICK, FIRE, LAVA], [FALL], [SUFFOCATION], [DROWNING], [BLOCK_EXPLOSION], [ENTITY_EXPLOSION], [CONTACT]]
Delay: 0
Messages: (none)
Quantity: 1.0
Drop: AIR
Commands: []
Drop spread: 0.0% chance (3)
Exclusive key: 1
Chance: 100.0
Agent: ANY
Delay: 0
Messages: (none)
Quantity: 2.0
Drop: GHAST_TEAR
Commands: []
Drop spread: 0.0% chance
I'm not sure about why are there "dropAIR with agents" twice, but once - it's just the "0drops when killed by environment" config.
It also shows the ghast tear I've added for testing, but it doesn't work.
It does not show the drops specified by the mod itself of course, but the mod drop works.
This makes me think, that if OD somehow actually has native support for mod mobs, then it's like "OD drop event" gets overwritten by the mod|Forge|Cauldron somehow?
Or else, we just need a small Forge - OD BridgePlugin to use Forge events
http://www.minecraftforge.net/wiki/Event_Reference#LivingDeathEvent
-
View User Profile
-
Send Message
Posted Nov 25, 2014well what I noticed is that all mobs usually have one complete name string, sometimes with an underscore like ENDER_DRAGON. However, all the mobs are named with a period seperating the mod pack and the entity liek in the case of "Forestry.butterflyGE" When I check for this enum, it says "unknown material Forestry" probably because it stops at the period. But when I use the plugins command /od id mob, it returns the proper string name for that mob "Forestry.butterflyGE" so maybe if there was a way I could use the enum with a period it would work? The enum is there, but it has a period in it instead of the usual underscore- this obviously only applies to the mobs and not biomes, but hey that would be one closer right?
-
View User Profile
-
Send Message
Posted Nov 25, 2014@mrretrus
When you're specifying an object in OtherDrops, numbers will always refer to a material (that is, a block or an item).
I don't quite understand what you mean when you ask about "help make checking mobs possible." What exactly are we checking about mobs?
@Graitt
No, not special hooks for each mod. Anything but that. We're concerned with being able to identify enums other than the material one. :P
I would very well imagine ZariusT will create a bridge plugin that directly accommodates code from MCPC+/Cauldron (or some other thing), although I'm not sure how much he has to work since CraftBukkit code is pretty much offlimits now.
-
View User Profile
-
Send Message
Posted Nov 25, 2014Heres another question. When defining a mob like lets say a chicken, it knows its a mob. When I use a block (on the same line) it knows its a block right? But if put in an ID it only applies to a block and not mobs or anything else. It almost seems that IDS on that line can only apply to materials- so I cant use "93" in place of "CHICKEN" to define that mob as being my target, since 93 is already defined by ID as "DiodeBlockOff(redstone)"
For entities then, I cant use mob ID "38" for this mob name "Forestry.butterflyGE" since its defined as material "RedRose" and using the name, the console says "Unknown material Forestry" as though it stops at the period.
BUT! When I type in /od id mob while pointing at the mob, it does in fact tell me "Forestry.butterflyGE" plus all the other stack info that applies to it... Is there any way to use this info to help make checking mobs possible?
-
View User Profile
-
Send Message
Posted Nov 24, 2014@mrretrus
I undestood that, but yes, Cauldron = MCPC (and there are some 1.6.4 Cauldron versions named MCPC aswell). It was literally just the namechange, so it shouldn't matter at all. Only the name changing code was edited.
quoted - Server.getName() will return "Cauldron" instead of "MCPC+"
So, what I don't understand is adding the support for the IDs, since the IDs are the digital equivalent of enum (pretty much a namechange). I mean I really want the plugin to support mobs/biomes, and just everything actually ;} but how is the ID suport supposed to help, if, as I mentioned, I've used the correct enum for ProjectZulu mob names (OD didn't show errors it shows when it doesn't find the specified material) and still OD didn't use any added drops and stuff from my config.
I hope that I am somehow wrong, and it's just as simple as using ID instead of enum. It would help me aswell, but it looks like there's something else here, as if OD isn't capable of correctly using NBT tags from mods (although I doubt plugins actually supposed to work with mods NBT), or needs some special hooks for each mod?
-
View User Profile
-
Send Message
Posted Nov 24, 2014That would be awesome! Or like an option to enable ID's or something. I would even donate if you added this functionality since it opens so many doors to my FTB RPG server
@graiit I'm running Unleashed which is MCPC not Cauldron, since Cauldron is mcpc at 1.6 and up. Also, since the plugin only checks agains bukkit enums, only vanilla biomes and mobs can be checked- Where as the items and blocks check ID's which allows OD to work with modpacks, but only the items and blocks.
-
View User Profile
-
Send Message
Posted Nov 24, 2014<<reply 2401709>>
Why wolud you be thinking of adding the support for the mod\biome IDs?
I mean while it's not that hard to find the enum names, added by Cauldron, and upon using them in OD config does not show any erroors, however it does not add the functionality either.
Am I still missing something? ;}
-
View User Profile
-
Send Message
Posted Nov 24, 2014@CommodoreAlpha
Yes, this is why biome and mobs by ID hasn't been supported - Bukkit doesn't expose them via ID but rather by the enum (i.e name).
I can build in support via other methods however this does cause the plugin to be more likely to break when a new Minecraft/Bukkit version is released, I could look into perhaps enabling this functionality via a "plugin" to OtherDrops - this could get around the compatibility issue.
-
View User Profile
-
Send Message
Posted Nov 23, 2014Thats silly- And yes item ID's work. Which is actually a great thing to note- I can make any mod block or item work with any other mod block or item. However both mobs and biomes seem to only be by bukkit name, so that kills a huge functionality of this plugin for FTB and other modded server. If it was possible to get mobs and biomes by ID like with blocks and items, this would have the capability to replace dozens of plugins altogether (mcmmo, rpgitems, zombie apocalypse etc)
-
View User Profile
-
Send Message
Posted Nov 23, 2014@mrretrus
That's very strange. You might want to try asking ZariusT about this. Numerical IDs for items work fine for me, so I'm not sure why identifying a biome by ID wouldn't.
EDIT: Also, this following line just occurred to me as I skimmed the Bukkit javadoc on biomes:
It seems to suggest that the Bukkit enum for biomes only takes string names, so that could be why OtherDrops doesn't read for IDs.