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

Note: features in orange are only available in the latest beta versions

  • 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
  • Where-ever possible the official Bukkit lists are used so OtherDrops:
    • supports all current and future blocks, items & mobs
    • supports all current and future enchantments & potion effects
    • supports all current and future biomes, spawn reasons & tree species
    • supports all current and future 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
    • Custom HP (health) for any mob
    • Custom equipment (w/custom drop chance)
    • Baby animals (all "Ageable" mobs - chicken, cow, pig, etc)
    • Tame wolves (including collar color) or cats (& different cat types)
    • Sheep colors and/or whether they haven been sheared
    • Villager professions
    • Powered creepers
    • Baby & villager zombies
    • 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])
  • Add lorename requirements
  • Heroes class & level conditions
  • Cooldowns

Actions

  • Apply actions alongside the drop (or even without a drop)
  • Damage tools
  • 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.

--

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 CommodoreAlpha CommodoreAlpha Nov 26, 2014 at 16:02 UTC - 0 likes

    @Onewingseraphim: Go

    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.

    Server Information: "antarcticspecops.webs.com"

    Antarctic Special Operations, home of the buggiest (modded) server ever! With the most incompetent admin (me) also! Currently unplayable on survival due to construction accidents involving but not limited to a rebar in the face. I'll consider opening for Beta testing as soon as I overcome my incompetence. <3

  • Avatar of Graitt Graitt Nov 26, 2014 at 14:20 UTC - 0 likes

    @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 ;}

    Last edited Nov 26, 2014 by Graitt
  • Avatar of Onewingseraphim Onewingseraphim Nov 26, 2014 at 12:46 UTC - 0 likes

    If 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.

  • Avatar of mrretrus mrretrus Nov 26, 2014 at 02:43 UTC - 0 likes

    Thats 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

  • Avatar of CommodoreAlpha CommodoreAlpha Nov 26, 2014 at 01:55 UTC - 0 likes

    @mrretrus: Go

    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: Go

    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:

    Quote from ZariusT:

    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.

    "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.

  • Avatar of mrretrus mrretrus Nov 26, 2014 at 00:28 UTC - 0 likes

    yes... 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...

  • Avatar of Graitt Graitt Nov 25, 2014 at 22:00 UTC - 0 likes

    I 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

  • Avatar of mrretrus mrretrus Nov 25, 2014 at 14:14 UTC - 0 likes

    well 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?

  • Avatar of CommodoreAlpha CommodoreAlpha Nov 25, 2014 at 13:41 UTC - 0 likes

    @mrretrus: Go

    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: Go

    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.

  • Avatar of mrretrus mrretrus Nov 25, 2014 at 12:21 UTC - 0 likes

    Heres 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?

    Last edited Nov 25, 2014 by mrretrus: more relevant

Facts

Date created
Aug 27, 2011
Categories
Last update
Nov 25, 2014
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
OtherDrops
Downloads
90,660
Recent files

Authors

Relationships

Optional dependency
Vault