OtherDrops

https://lh3.googleusercontent.com/-6F70Lqix6ss/USZFvy65wNI/AAAAAAAAA3s/L3hzRyfpJOU/s600/od%2520logo-fill.jpg

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)

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 :) Donate

Metrics

  • OtherDrops uses Metrics for anonymous usage stats (learn more).

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Treijim Treijim Sep 11, 2016 at 15:58 UTC - 0 likes

    @Faldonboy: Go

    I've tried that but couldn't find a way for it to check for every level of the relevant enchantment as well as unenchanted tools. Got any ideas about how exactly to write it?

  • Avatar of Faldonboy Faldonboy Sep 09, 2016 at 18:47 UTC - 0 likes

    @ZariusT: Go

    I'm still around btw, so if the documentation needs an update at some point just shoot me a PM. :)

    @staple43: Go

    Do you mean execute a command on action such as block break or clicking? If so that's possible

    @Treijim: Go

    There's no "simple" way to do it but it is possible to add in enchantment effects like that, they won't be 100% the same as vanilla but they'd be close.

    Last edited Sep 09, 2016 by Faldonboy

    Test server - mc.larkspurgaming.com:25567 ~~ Ingame name - Charlie_boi ~~ Documenter & Tester for MythicMobs and OtherDrops

  • Avatar of Treijim Treijim Sep 06, 2016 at 16:30 UTC - 0 likes

    @ZariusT: Go

    I also can't find a simple way to make enchantments continue acting as normal with OtherDrops events. For example, making stone drop stone instead of cobblestone cancels out the effects of unbreaking picks.

  • Avatar of staple43 staple43 Aug 30, 2016 at 18:06 UTC - 0 likes

    Such a shame this amazing plugin doesn't have the option to simply have a command executed by action.

  • Avatar of Treijim Treijim Aug 29, 2016 at 08:09 UTC - 0 likes

    @ZariusT: Go

    The biggest problems I get are errors similar to this:

    9.08 03:42:56 [Server] INFO at com.gmail.zariust.otherdrops.event.OccurredEvent.<init>(OccurredEvent.java:196) ~[?:?]
    29.08 03:42:56 [Server] INFO at com.gmail.zariust.otherdrops.event.OccurredEvent.setTool(OccurredEvent.java:867) ~[?:?]
    29.08 03:42:56 [Server] INFO at com.gmail.zariust.otherdrops.subject.ProjectileAgent.<init>(ProjectileAgent.java:74) ~[?:?]
    29.08 03:42:56 [Server] INFO at com.gmail.zariust.otherdrops.subject.ProjectileAgent.getShooterAgent(ProjectileAgent.java:102) ~[?:?]
    29.08 03:42:56 [Server] INFO Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Projectile.getShooter()Lorg/bukkit/entity/LivingEntity;
    29.08 03:42:56 [Server] INFO at java.lang.Thread.run(Thread.java:744) [?:1.7.0_51]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:792) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.WorldServer.tickEntities(WorldServer.java:630) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.World.tickEntities(World.java:1421) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.World.g(World.java:1587) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.World.entityJoinedWorld(World.java:1612) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.EntityTippedArrow.m(EntityTippedArrow.java:68) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.EntityArrow.m(EntityArrow.java:188) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.EntityArrow.a(EntityArrow.java:268) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.EntityHorse.damageEntity(EntityHorse.java:254) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity(EntityLiving.java:824) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity0(EntityLiving.java:1211) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:602) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:479) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:570) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:89) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[Spigot-1.9.2.jar:git-Spigot-e000104-4cb3258]
    29.08 03:42:56 [Server] INFO org.bukkit.event.EventException
    29.08 03:42:56 [Server] ERROR Could not pass event EntityDamageByEntityEvent to OtherDrops v2.8b-dev.1375
    29.08 03:42:56 [Multicraft] Skipped 6 lines due to rate limit (30/s)
    

    These come up every time an arrow is fired and in other situations too, I think.

  • Avatar of HockeyMike24 HockeyMike24 Aug 22, 2016 at 20:08 UTC - 0 likes

    Any dev builds available? The link isn't working for me

  • Avatar of Blogvampire Blogvampire Aug 21, 2016 at 14:34 UTC - 1 like

    @ToXiCHaZe541: Go

    I LOVE this idea! In fact I was thinking the exact same thing the other day. This would make it so much easier to have a Diablo-like rpg item drop system in minecraft.

    Last edited Aug 21, 2016 by Blogvampire
  • Avatar of ToXiCHaZe541 ToXiCHaZe541 Aug 18, 2016 at 01:14 UTC - 1 like

    I have a quick suggestion. So basically have a new config file by the name of custom_items.yml for example. Inside of this file will be a list of items where you can define the items lore, enchantments, and item type along with a name for the plugin to recognize it. So this way for instance I could make a custom diamond with lore saying "oooo shiny" drop and by doing that say that item is called special_diamond in the custom_items.yml file I would then put special_diamond on the drop list in the actual config for it to drop.

    Last edited Aug 22, 2016 by ToXiCHaZe541

    Check out my server at mc6.fadehost.com:25936

  • Avatar of drexel_levante drexel_levante Aug 17, 2016 at 22:52 UTC - 0 likes

    Hey i would have to say my top 3 are that mobs wont spawn via mobspawn trigger for one. two would be custom named mobs not able to drop custom named mobs. Three i have noticed that any trigger made by a projectile wont function properly either.

  • Avatar of MineLab MineLab Aug 16, 2016 at 00:18 UTC - 0 likes

    There is 2 bugs on 1.10, I explained here: http://pastebin.com/UrqJAPwT

Facts

Date created
Aug 27, 2011
Categories
Last update
Jan 06, 2015
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
OtherDrops
Reverse relationships
1
Downloads
170,642
Recent files

Authors

Relationships

Optional dependency
Vault