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).
I'm trying to force potion effects on drinking certain items. This is what I have:
But it does nothing at all. I've tried changing things like POTION@0 and various status effects but nothing works. Any ideas on how to do this?
@syberia97
Well in a world for sure, if not from otherdrops itself, you could even use perworldplugins plugin.
Can I disable otherdops on any region or world ?
@leniktom
I think this could be done with the command feature combined with %p parameter (it means the attacker) So if you wanted a zombie to drop apples right into inventory it'd be like:
ZOMBIE:
command: ["/!$give %p apple 1", "/!$othercmd/drop/whateveruwantconsoletodo"]
chance: 100
Is there an option to make instead of dropping items on the ground, put the items right into the inventory ?
Or anyone can tell me how to do it with working OtherDrops to :)
@kev3200
have you tried using '&' instead. /give happily accepts that in all my configs.
Could you release a new version please where the '§' symbol is allowed in commands? I would like to be able to use custom colors in lore and text in a /give command, but config is throwing a fit every time I try.
@luckercze
I have the same error with the latest version
[16:37:19 ERROR]: Could not pass event LeavesDecayEvent to OtherDrops v2.8b.596 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) [spigot.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-c3c767f-33d5de3] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.BlockLeaves.d(BlockLeaves.java:135) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.BlockLeaves.b(BlockLeaves.java:125) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.Block.a(Block.java:258) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.WorldServer.h(WorldServer.java:482) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.WorldServer.doTick(WorldServer.java:240) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:756) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_75] Caused by: java.lang.IncompatibleClassChangeError: Found class com.sk89q.worldguard.protection.ApplicableRegionSet, but interface was expected at com.gmail.zariust.otherdrops.listener.OdBlockListener.checkWorldguardLeafDecayPermission(OdBlockListener.java:62) [?:?] at com.gmail.zariust.otherdrops.listener.OdBlockListener.onLeavesDecay(OdBlockListener.java:78) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_75] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_75] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_75] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_75] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) [spigot.jar:git-Spigot-c3c767f-33d5de3] ... 13 more
Hi
When I set up some blocks it still spam the LEAF_DECAY EVENT error. I tryed delete action LEAF_DECAY in my settings but it still spam my console.
@Faldonboy
There is no error, the console simply spams till a timeout error.
I'm having a hard time configuring the Looting enchantment drops, I tried using the example given in Basic Examples section but I think it may be outdated or something.
Instead of giving specific drops based on Enchantment level it's actually adding all 3 drops together instead of separating them if that makes sense.
Here is my code:
- tool: ANY_SWORD@!LOOT_BONUS_MOBS#1 drop: GOLD_INGOT chance: 50 quantity: 1 message: "&aObtained Bonus Loot" - tool: ANY_SWORD@!LOOT_BONUS_MOBS#2 drop: GOLD_INGOT chance: 50 quantity: 2 message: "&aObtained Bonus Loot"
So let's say I have a Looting 2 sword when I kill this mob, you would think I have a %50 chance to get 2 Gold_Ingots, but that's not what happens... What actually happens is I have a %50 chance to get 2 Gold Ingots and then another %50 chance to get 1 more Gold Ingot therefore making my message "Obtained Bonus Loot" appear twice. Am I doing something wrong or is there a work around for this?
EDIT: Actually what's going on is the fact that it's not recognizing the enchantment requirement. How do I fix that?
@Tai1er
I know that, but, by listing only spawnreasons to ignore it should allow any other spawn reasons to work. I'm just trying to make sure that chunk_gen and natural are actually broken.
@Faldonboy
No, it removes these spawnreasons but the natural, chunk_gen don't work.
I have a question, can I make a sword with a name such as "Green Sword" can not be dropped if you die? but only the sword that has this name.
@Tai1er
try
@meytroCURSE
Hrm, alright, unfortunately I have no way of contacting Zarius and he kind of shows up sporadically so I'm not sure when that will get fixed, it will eventually though.
@Faldonboy
Also doenst work. I copied my options for the other 4 leaves and there they work without any problems, just this new leaves doesnt work.
I have tested on a small server with only OtherDrops and it doesn't work. :C When I don't use "spawnby" it's work with spawners, eggs and commands.
@Tai1er
Those should still work, if they don't it might be a change in spigot/bukkit in recent updates. Try testing with just one of them instead of a list though, it could also be lists not working correctly.
Ex:
@meytroCURSE
Those leaves should work fine. Try using 161@0 and 161@1 instead
Hey,
could you update your plugin so that you can use @ACACIA and @DARK_OAK as data values for leaves?
Hi, I have a problem with the trigger spawnedby. The chunk_gen and natural spawnreason doesn't work. :/
Someone can help me please?