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).
Hey!
I guess this doesn't work with Forge Mods? I tried customizing Mo' Creatures loot tables but didn't succeed. However, I was able to customize normal spider loot.
These were my debug examples:
I was trying to use the includes file that stops mob farming from spawners. Is this working correctly or am i just not seeing it? all mobs drop loot as normal when killed from a spawner. I am trying to prevent people from farming unique item drops by spawner farming.
@Bajads I use the Plugin: "DeathControl" to block ItemDrops of Players. (Player can Keep their Inventory this way).
With that you just need to Specify what Players should drop normaly like any other drop.
If you like to delete the stuff the Player had, you should be able to do that, if you just make a Drop for Players, and specify: "flags: UNIQUE"
How do I make the only thing players drop, the things i've specified? (Players drop nothing, but the things i've written in the config)
@Treijim
Forget it, read the "edit" I've written the same day, just below my question. :)
@drexel_levante
Yes, you should use the previous version. It spams a little the consol when you cut a tree, but it's the only problem I saw until now.
Ok thank you for your reply. Knowing this i may just tough it out til the next update for custom named drops.
Use: Version: 2.8b.582
for the time beeing. The latest Version here has drops on named stuff broken.
(This now throws errors on leavesdecay for me. But it doesnt appear to do much)
Hi I have a simple setup thats now broken since i updated. I have a named spider set to drop 1-3 smaller named cave spiders when killed. It has not been changed in the config at all and did what it was supposed to till i updated. any ideas? Also can u tell me what the code is to insert the text without it looping? I will post the setup afterwords.
@Noxcode
Sorry, how did I do what?
@CommodoreAlpha
Hey, this doesn't do anything. Is there another way to prevent sheep from being dyed?
So I'm running this on 1.8.1 Server.
Specifically /containertrust <killers name> or %p
Any idea how to get this done?
org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) [1.8-spigot.jar:git-Spigot-"606148f"] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [1.8-spigot.jar:git-Spigot-"606148f"] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [1.8-spigot.jar:git-Spigot-"606148f"] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.BlockLeaves.d(BlockLeaves.java:135) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.BlockLeaves.b(BlockLeaves.java:125) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.Block.a(Block.java:258) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.WorldServer.h(WorldServer.java:483) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.WorldServer.doTick(WorldServer.java:242) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:742) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:625) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:528) [1.8-spigot.jar:git-Spigot-"606148f"] at java.lang.Thread.run(Unknown Source) [?:1.8.0_25] 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.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:299) [1.8-spigot.jar:git-Spigot-"606148f"] ... 13 more
[22:11:47] [Server thread/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:303) [1.8-spigot.jar:git-Spigot-"606148f"] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [1.8-spigot.jar:git-Spigot-"606148f"] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [1.8-spigot.jar:git-Spigot-"606148f"] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.BlockLeaves.d(BlockLeaves.java:135) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.BlockLeaves.b(BlockLeaves.java:125) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.Block.a(Block.java:258) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.WorldServer.h(WorldServer.java:483) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.WorldServer.doTick(WorldServer.java:242) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:742) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:625) [1.8-spigot.jar:git-Spigot-"606148f"] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:528) [1.8-spigot.jar:git-Spigot-"606148f"] at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
[15:10:43] [Server thread/ERROR]: THIS IS NOT AN ISSUE TO DO WITH PER WORLD PLUGINS Could not pass event EntityDamageEvent to OtherDrops v2.8b.596 org.bukkit.event.EventException at us.Myles.PWP.TransparentListeners.PerWorldPluginLoader$1.execute(PerWorldPluginLoader.java:122) [?:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at us.Myles.PWP.TransparentListeners.PWPRegisteredListener.callEvent(PWPRegisteredListener.java:30) [PerWorldPlugins.jar:?] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:84) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:521) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:507) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:553) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityLiving.d(EntityLiving.java:1046) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityLiving.damageEntity(EntityLiving.java:696) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityMonster.damageEntity(EntityMonster.java:44) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityLiving.K(EntityLiving.java:160) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityInsentient.K(EntityInsentient.java:148) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.Entity.s_(Entity.java:229) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityLiving.s_(EntityLiving.java:1387) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityInsentient.s_(EntityInsentient.java:192) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityMonster.s_(EntityMonster.java:26) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityCreeper.s_(EntityCreeper.java:108) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.Entity.ak(Entity.java:1433) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.EntityLiving.ak(EntityLiving.java:1640) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.World.entityJoinedWorld(World.java:1357) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.World.g(World.java:1337) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.World.entityJoinedWorld(World.java:1404) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.World.g(World.java:1337) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.World.tickEntities(World.java:1207) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.WorldServer.tickEntities(WorldServer.java:540) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:702) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:284) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:600) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:508) [1.8-craftbukkit.jar:git-Bukkit-"24557bc"] at java.lang.Thread.run(Unknown Source) [?:1.8.0_25] Caused by: java.lang.NullPointerException at com.gmail.zariust.otherdrops.event.OccurredEvent.setRegions(OccurredEvent.java:838) [?:?] at com.gmail.zariust.otherdrops.event.OccurredEvent.<init>(OccurredEvent.java:217) [?:?] at com.gmail.zariust.otherdrops.listener.OdEntityListener.onEntityDamage(OdEntityListener.java:64) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_25] at us.Myles.PWP.TransparentListeners.PerWorldPluginLoader$1.execute(PerWorldPluginLoader.java:120) [?:?] ... 31 more
Can you till me a plugin that when i hit someone he will drop for me GOld or a plugin when i kill him i git item i but it ?
@ipodboqi
There's a way explained in the parameters page. You just need to use formatting codes with a "&" as a section sign.
e.g:
will display a yellow bold message, like this.
Is there a way to make drop messages have color and formatting?
@Noxcode
Technicalle its still Possible with the Items. You just have some Problems to deal with.
E.g. Ugly Cubes as Items. :)
And if you try to use CIT, it looks like that:
http://the-sanctuary.info/downloads/screenshots/2015-01-15_17.06.15.png
(Flint with MetaData 1, or 2) Maybe with a later Version of MCpatcher it may be possible.
But then you need a Specific Ressourcepack to view your Special Items.
Thats something thats Bugging me since my Update to 1.8.
As there are Several Unique items around. (Mainly Crafting Materials)
@LanToaster
My bad, I though that was still possible with items. I just began to try some tricks on spigot 1.8.
@Treijim
How did you do that ?
It didn't recognize the material "RABBIT" with me on the last build 2.8b596.
EDIT : I used the last build of Spigot which seems to block the new features... Spigot build 1658 seems to works fine. :)
so now I can share one of my little configuration on the forum. :)
@ZariusT
The item is actually called "rabbit", the same as the mob, but I didn't know we could use the numbers for it. Thanks.
@Treijim
Hi Treijim, you should be able to use just the number - 441. Otherwise you will need to check the known_lists folders (only generated with the latest version of OtherDrops) for the official bukkit name (should be in the Material.txt file).