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).
@ZariusT
I'm running 2.8b.596 and I'm trying to get it working with the plugin called Spawns, which seems to be doing everything correctly on its end.
@Treijim
What version of OtherDrops are you running?
@ZariusT
This doesn't seem to work. It doesn't recognise any of them and seems to only drop default items. It works if I replace the ~ with a ! (not sure why), but it just doesn't seem to recognise the names above the heads of the monsters. Could it be the plugin that's naming the monsters that's causing the issue or am I doing something wrong?
@ZariusT
Damn, the fact that I forgot about "NOTHING"... *facepalm*
@CommodoreAlpha
I don't think -default will work, [nothing, apple] should work though, if overrides_default_loot is set to false.
@ZariusT
@CommodoreAlpha
Ah... haha I tried everything but that silly me. Thanks.
@Proof2006
If you want to keep the "overrides_default_loot" setting false in your options.yml file, my first guess would be to negate the DEFAULT drop like so:
All zombie pigmen that have a max hp of 40 will not drop whatever comes from vanilla MC, but will drop one apple. Or at least, that's what should happen.
EDIT: Got ninja'd by @ZariusT. ;)
@CommodoreAlpha
CommodoreAlpha's second example should be right except remove the chance lines. There's no current way to get differing chances for complete events, e.g. always 70% one event or 30% another event however 50/50 is possible with two drops having flags: unique, you don't even need the drop group.
The reason this works is that OtherDrops gathers successful drops into a list (based an chance and other conditions) then checks the unique flag. Since the chance is 100% for both drops they'll always be in the success list and since they are both unique it'll roll a dice and pick one at random.
@Proof2006
You can add a new drop for pig_zombie@40h to drop just the apple.
I've gotten a creature to spawn after I kill a zombie. How do I set this up so that the creature doesn't drop his armor or sword on death but instead only drop 1 apple?
@LanToaster @mrretrus
I don't use dropgroups myself (although I should learn how seeing as I'm documenting the plugin), but in terms of logical flow, that would only be half-done.
@mrretrus wants to group multiple parameters into one "object" and have it treated as such, so in actuality, the two entries (the first "drop" with the 50% chance and the second "drop" with the 100% chance) should be two distinct dropgroups, and each dropgroup should be assigned a separate chance.
In other words, the dropgroup should contain only the effects, whereas the chances should be assigned to the dropgroup itself. Logically speaking, it may look a bit more like this.
However, judging by the examples page, that is not how dropgroups are implemented (unfortunately), and it would take quite a bit of a rewrite to do so. Do give it a try, but I doubt it will work.
The way I did it does make more sense, but it doesn't work like that. I cannot think of a way to create disjoint (which necessarily means dependent) outcomes as of now. However, I do know of the "flags: UNIQUE" parameter, although I see this as a rudimentary workaround than an actual fix (I'm not sure why this flag was added, although it still can be handy). Give this a try to see if it works:
You can check out the "flags:" parameter on this page for an explanation on what it does and how it works. I cannot imagine this being clean to implement with complex multi-chance drops (drops that require multiple chances to be rolled). A general note is that order (and nesting) does matter if you're going to use this flag.
To expand on this, having it set up that way doesnt divide the chances equally between the options either. Each one is independant- So feather drops 75% of the time, but the egg ALSO drops 25% of the time, even if the feather drops. I was hoping to make it more like one OR the other. Also, potioneffect doesnt seem to work for the "either or" the same as item drops? I can have it do multiple choices, but I cant make it have a % chance nor does it seem to consider % divided. Like 25%strength and 75%blindness makes it do both every time, no matter if i use {} or [] they just both go 100% of the time
Odd- 75% of the time I get the first reward, but the 25% of the time for the 2nd reward set I actually get both the first AND the 2nd reward
http://pastebin.com/TpvzYUnC
@mrretrus
Kinda this should do it. Just replace the Drops.
Is there a way to get a drop to have a percentage of COMBINED variables? For example, if you kill ANY_CREATURE it has a 50/50 chance to either: drop a carrot and give a potion effect of speed for 5 seconds, OR drop an egg and give a mining boost for 5 seconds. The reason why im asking is because the chance drops only seem to have percentages per line, So the conventional way would have a 50/50 chance for both options independantly of each other, instead of having EVENT chances where a complete set of things can happen like A) execute command, give potion and item, OR option B) give different command potion and item
@ZariusT "Yes, sorry - appears I broke the name checking in the latest beta (release 2.8b.582 may work better?), looking to fix that."
Well, I can now Understand why after 4 hours working on my Configs (wich did stop to work after my Update to 1.8 [up from 1.7.4]) I didnt find a Solution to why these stopped Working.
Anyway. Still awesome that you Updated the Plugin to 1.8, sadly many dont do that.
Edit: Is there maybe a trigger when a Villager Creates an Offer?
@ZariusT
Amazing, Thank you.
@Treijim
Yes, from memory you should be able to use ZOMBIE@~ (I.e just a single tilde character and no name) to mean no name.
To fix the formatting here you can use ((code))...((/code)) blocks, just replace the brackets with angled ones < >.
@Becto
Just remembered there's a setting in OtherDrops-config.yml for money_overrides_default that might make it work the way you want.
I'm trying to get OtherDrops to distinguish between multiple types of zombies. I have these entries:
ZOMBIE@ElderBandit: - drop: iron_ingot chance: 100%
ZOMBIE@Bandit: - drop: gold_sword@1-20 chance: 12%
ZOMBIE: - drop: stone_sword@1-75 chance: 12%
But it just seems to prefer the unnamed zombie entry. Is there something I can do so it doesn't treat the named ones like unnamed ones? Edit: The formatting is correct in my config file but the comment here squished it up.
@ZariusT
It does work with 2.8b.582 indeed, But that version is spamming errors on my log :p
Ah, I understand what you mean, And, For some reason if I put money as drop, and also put a UNIQUE flag on it, It doesnt limit it to only the money but also drops items (such as a pig saddle), probably because money is something else then items, but still, Maybe you could make it so that if you put a UNIQUE flag on the money, It doesn't drop items as well? Would be amazing :)
@Becto
Yes, sorry - appears I broke the name checking in the latest beta (release 2.8b.582 may work better?), looking to fix that.
With the quantity OtherDrops is assuming full numbers if anything but money, you could using drop groups. I'd post an example however awkward from my phone.