Get an Epic Experience with Premium

OtherDrops

Mechanics Login to Add Favorites
  • 1 Like
  • Minecraft
  • 3,315 Monthly Downloads
  • Supports: CB 1.7.9-R0.2
  • 93,280 Total Downloads
  • Updated 11/25/2014
  • Created 08/27/2011
  • 4 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 2.8b.582
or
Support development! **
Donate

About 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).

Beta release 2.8b.582 (mostly just some bug-fixes)

Marked as Release since there are so many fixes & improvements from the older 2.7.1.

  • Fix: update CoreProtect dependency to support CoreProtect 2.0+
  • Fix: issue preventing "name@!customname" from working
  • Fix: parse colours in lore text
  • Fix: update RegenBlock support to newest versions (5.4 and above), will no longer work with versions of RegenBlock older than 5.4.
  • Fix: parse RGB hex color code (for leather armour) correctly.
  • Fix: temporary fix for one dependency failure stopping all, fixes issue #279
  • Minor: no need to get RegenBlock API via the listener block.
  • Fix: NPE error when trying to parse colors in null loretext.

Beta release 2.8b.573 (for 1.6.1 and newer only)

  • Add: BLOCK_PLACE trigger.
  • Add: aliases for 1.6 materials
  • Add: New condition player.sneaking (usage "player.sneaking: true")
  • Dev: update for Bukkit 1.6.1 (implement PlayerWrapper new methods & support new "double" damage rather than "int")
  • Dev: update Metrics to R7.
  • Fix: STEP_SOUND checks that material is a block
  • Fix: substitute color codes in "lorename" condition (broke recently)
  • Minor: fix NPE in ContentsDrop

Beta release 2.8b.566

  • Add: PROJECTILE_HIT_BLOCK trigger - projectiles hitting blocks
  • Add: BLOCKGROW trigger - when wheat, sugarcane, cactus, etc grows
  • Add: allow /odd command to work with @p/@r/@a from CommandBlocks - eg. /odd p: @p diamond
  • Add: command "/od triggers" to show available triggers
  • Add: %loc.x %loc.y %loc.z %loc.world variables (should be self-explanatory)
  • Add: modified undocumented PLAYERMOVE trigger - now requires a target block which defines the block on which the player is moving.
  • Add: multiple option placeholders (eg. "+<36> <mace|sword|dagger> of <lightning|fire>" -> +4 mace of fire)
  • Add: "named chest" support now uses InventoryHolder to also support names for dispenser, brewing stand, etc.
  • Add: "send_customblockbreak_to_mcmmo" config setting (defaults to true) to make it optional
  • Add: support newer projectiles (thrown potion, enderpearl, thrownexpbottle, witherskull) and thrown potion data values.
  • Add: trig as alias for trigger parameter (easier to type and matches length of drop, looks neater)
  • Fix: alias for skull - head - was putting names in uppercase (eg. skull@Name works but head@Name went uppercase).
  • Fix: allow entitydamage events to work for damage other than by entity (eg. environmental damage)
  • Fix: allow simple data to range without "RANGE" ala CROPS@0-6
  • Fix: (blockbreakevent) only deal "default damage" if default drop has been cancelled.
  • Fix: fixes "tool: dye@blue&6Fred" not working (needed to parse color codes at config loading time)
  • Fix: issues with LAPIS_ORE & rename COCOA = dye@brown alias to COCOA_BEANS as COCOA is the plant.
  • Fix: lapis->dye@blue alias broke LAPIS_ORE drops (also added LAPIS_BLOCK as an alias for the ore).
  • Fix: leaves@this drop included "decay bit" so gave wrong data values. Fixes #243.
  • Fix: minor issue with /odd command and numbers in lorename or book text (was parsing the first 2 numbers seen as location, even if in lorename)
  • Fix: minor optimisation for messages - only parses variables if there the string contains a % (variable) or anglebracket (<> - for multi-text) & translate message colors in config loading.
  • Fix: NPE in EnvironmentAgent
  • Fix: NPE in LivingEntityData when checking custom mob names
  • Fix: NPE in MessageAction whilst loading config. Also improved config error given for NPE's.
  • Fix: /odr command now reports errors back to user that is reloading. Some general improvements to reporting reload errors.
  • Fix: only note "action: parameter found, use trigger:" message once per reload
  • Fix: rare issue where onPlayerInteract couldn't get target block looked at.
  • Fix: reset all "dropFor" variables so only the correct listeners are loaded after a "reload" command
  • Fix: some OtherDrops spawned creatures not working. Fixes #245.
  • Minor: add /otherdrops as alias for /od command
  • Minor: add strength alias for INCREASE_DAMAGE potioneffect.
  • Minor: spawnreason to /odi mob command
  • Minor: allow lowercase aliased triggers to work
  • Minor fix: allow "ANY", "ALL", etc for "tool" parameter to be case-insensitive (eg. any, aLl) now work
  • Minor: fix projectile matches so that SNOWBALL matches SNOW_BALL, etc (now correctly ignores case and strips underscore/dash/spaces)
  • Minor optimisation of material alias parsing.
  • Minor: adjust some debug message verbosity levels

Beta release 2.8b.542

  • Add: short-form drops & money, eg. ZOMBIE: [egg] (for drops) or SKELETON: 3-7 (for money)
  • Add: support for "ZOMBIE~" meaning any zombie with no customname, and "ZOMBIE~*" meaning a zombie with any customname (except blank)
  • Add: support for named chests & command-blocks as targets.
  • Add: "event: explosion@player" - creates explosion at the player rather than the target (can be combined with nobreak/fire/etc - eg. explosion@player/nobreak)
  • Add: "events" - eg. explosion, shear, lightning - now support event@param@param in addition to event@parm/parm/etc (eg. explosion@player@nobreak works too)
  • Add: MoneyAction now supports a range (eg. 1-10)
  • Add: Skeleton data types now use Bukkit enum for future compatibility.
  • Add: support for /odd x y z <item>, /odd w:world x y z <item> & /odd p:player <item> - also supports running command from console or command blocks
  • Fix: money action was withdrawing instead of depositing (oops...)
  • Fix: "replacementblock: AIR" for mob deaths now simply removes the entity rather than replacing the block (for AIR only)
  • Fix: %v in item-displayname & variables now only use % (eg. %date), fixes issue with variables not working at start of string.
  • Fix: allow /odd spawned mobs to process mobspawn trigger.
  • Fix: allow creeper deaths (by self-explosion) to be processed and tool: EXPLOSION_CREEPER now works.
  • Fix: issue where mobs with higher HP wouldn't match custom drops.
  • Fix: material@data aliases (eg. bonemeal) to be case-insensitive, work with underscores and added ANY_SHOVEL->ANY_SPADE & (LAPIS or LAPIS LAZULI) -> DYE@BLUE aliases
  • Minor: add alias for Command_Block (minecraft name) = Command (official Bukkit name)

Beta release 2.8b.535

  • Major: mcMMO compatibility for BlockBreakEvent with custom drops - now fires event off to mcMMO manually, similar to current LogBlock/Prism/etc support.
  • Major: actions parameter now known as trigger (eg. trigger: rightclick) to distinguish from an 'action' such as potioneffect, sound, etc. Note: action parameter still supported - all old configs should still work fine.
  • Add: sound action now supports range for volume and pitch & {sound1, sound2, etc} format.

only basic { } support with equal chance of any value being selected example: sound: {anvilbreak/0.8~1p/0.9v, catmeow}

  • Add: $date and $time variables, addresses issue #211. Custom date/time format can be changed in config file.

variables can now use $ or % - $ is the preferred as more standard across programming languages and easier to type variables can be "escaped" eg. "$time" will not be interpreted as a variable but rather show as just "$time". Double backslash needed as YAML interprets the first backslash.

  • Add: "particleeffects" - allows for a selection of Minecraft particle effects to be used.
    • full list here:
    • format- particleeffects: <effect>@<speed>@<count>
    • may be integrated with "effects" in the future
  • Add: tool: <item>~<name> now supported, item parsing revamped (see comments below...)

all previous syntax should still be supported main separator is now semi-colon, eg. diamondsword;damage_all#1;500~MySword;loreline1;loreline2 data, enchantment & displayname can be in any order (although any values are the displayname are taken to be lore text) eg. diamondsword;500;damage_all#1 -or- diamondsword~Fred

  • Add: allow left & rightclick to function on air, eg. ANY: [{ tool: dirt, action: rightclick, event: lightning }, { tool: dirt, action: leftclick, potioneffect: speed@60@5}]
  • Add: pset.exhaustion. Also, all pset values now support "+#" or "-#" (where # is a relevant number) to add or deduct from current value.
  • Add: allow action_radius for message, potioneffect, damage, sound & pset to be defined in config file
  • Add: allow "face" parameter to work with blockbreakevent. Fixes issue #212.
  • Add: custom_spawn_limit setting to avoid overloading a server with mobs (default 150) (if limit is exceeded OtherDrops will not spawn mobs during the "MobSpawn" trigger)
  • Add: example configuration for anvil repair (courtesy of Sehrgut)
  • Add: leather armor color now supports RGB values (using hex format eg #00FF00 = red).
  • Add: logging overridden blockbreakevents to Prism
  • Add: money action - replaces drop: money@percentpenalty/5 etc. Now money: 5, -5, 5%, -5% etc. Supports money.victim, money.steal, etc. (per other actions, money.world, money.server & money.radius all supported if you need them).
  • Add: potioneffect.remove (also potioneffect.victim.remove, .world.remove, etc)
  • Add: basic playeraction (pset.hunger, pset.xp, pset.speed) - subject to change, currently sets to exactly the value you give, will soon add/remove (optionally exact set with !).
  • Add: cooldown condition eg. "cooldown: click.$p@5" gives a unique cooldown for the player ($p) that lasts 5 seconds (default cooldown is 2 seconds)
  • Add: RPGItems test - /od rpg <ITEMNAME> (testing for future integration of RPG Items as drops)
  • Add: start of an "adjacent" condition - not yet functional
  • Add: support colon in target, eg: "wool:red"
  • Add: support for direct naming of mobs (eg. sheep~Fred, sheep@red~&4Red Fred)
  • Add: support names in creaturetarget (eg. pig~Fred: [{drop: apple}]), doesn't yet support other creature data alongside (eg. pig@baby~Fred will fail)
  • Add: mob custom names, book titles/author/pages now support color codes.
  • Add: experimental PLAYERMOVE trigger.
  • Add: trigger CONSUME_ITEM (triggers on player eating food, drinking potion or drinking a milk bucket), eg. PLAYER: [{ tool: apple, action: eat, potioneffect: [speed@200@5, jump@200@5] }]
  • Add: %t in variables now adds details of projectile shooter (eg. "an arrow shot by a skeleton").
  • Add: variable $deathmessage - fixes #211.
  • Add: variable $displayname or $lorename - shows item or mob custom name.
  • Fix: update "enchantment not valid" message to only appear at verbosity high and advise not necessarily a problem
  • Fix: issue with OtherDrops mobspawn limit not being applied.
  • Fix: playerinteractevents already cancelled should not be uncancelled - improved safety for cancelled interact events - only LEFT/RIGHTCLICK_AIR actions get through (all other cancelled interact actions ignored)
  • Fix: allow /odd for work properly (broken when adding /o as an alias)
  • Fix: bug causing comparatives to fail (eg. attackrange: "<6" - also used for height & lightlevel)
  • Fix: CreatureData "shouldn't be here" message now on high verbosity only and various creature data calls are now correctly parsing via EntityType and id rather than just id.
  • Fix: custom names for mobs should work for Bukkit 1.5 and above only (previously caused errors about a missing method on Bukkit 1.4.7).
  • Fix: exclusive & inclusive drop lists correctly add entities to dropResult (fixes issue with fishing not throwing fish at player when using droplists).
  • Fix: fish_success event now removes default fish rather than cancelling the event (adds compatibility with mcMMO)
  • Fix: improve custom names check - do not set if empty string and move version check to config parsing rather than runtime.
  • Fix: left/rightclick actions now work in Creative mode too.
  • Fix: make the "face" parameter case insensitive (previously face: north didn't work but face: NORTH did)
  • Fix: mob & item $t(oolname) variables now use "readable" names (ie. diamond sword rather than DIAMOND_SWORD)
  • Fix: MOBSPAWN now only ignores OtherDrops spawns rather than all custom spawns.
  • Fix: monster(silverfish)_eggs now use fuzzy matching so monster_eggs@stonebrick will work, etc. Fixes #212.
  • Fix: NPE error in playerinteract when left/rightclick in air
  • Fix: NPE error when using PLAYER: target
  • Fix: NPE when parsing variables with iteminhand being empty.
  • Fix: OtherDrops mobspawn limit now only considered if it's a natural spawn, also increased default OD limit to 300.
  • Fix: playerrespawn trigger now defaults to '1' for delay and current player location on respawn (not where they died).
  • Fix: potioneffects will now renew an existing potioneffect (previously if the player already had an effect the duration would not renew)
  • Fix: SPAWNEGG@THIS now works correctly (fixes #208)
  • Minor: allow metrics to display mob_death and block_break separately.
  • Minor: don't run "set dropped velocity to player" for fish_failed (fish_failed trigger drops appear at players feet as we cannot locate the "hook" end of the rod)
  • Minor: make some warning messages more informative (specifically regarding Vault & economy plugins)
  • Minor: update "action parameter outdated" message to show that action parameter still supported
  • Minor: add SPAWNMOB as alias for MOBSPAWN trigger.
  • Minor: add FISH_SUCCESS as alias for FISH_CAUGHT.
  • Minor: add ITEMCONSUME as alias for CONSUMEITEM (as some users have tried it)
  • Minor: color to log messages (high and above) - easier to keep track of verbosity levels and OD debug messages.

config option color_log_messages to disable (if annoying or ESC codes appear, etc) no color for low/normal verbosity by default (I prefer green for normal) will add configurable color per level later

Beta release 2.8b.382

  • Add: support lore text (~name:line1:line2:etc) & support more flexibility in displayname parsing (eg. item~name)
  • Add: allow variables & color codes in loretext.
  • Add: NOBREAK argument to EXPLOSION effect (eg. event: EXPLOSION@2/FIRE/NOBREAK). Fixes #122.
  • Add: cap explosion power at 100 to avoid lagging servers (and add override_explosion_cap for those that know what they are doing).
  • Add: support all 13 discs (along with aliases as per minecraftwiki).
  • Add: /o as shortcut for /odd
  • Fix: SKULL@zombie didn't work but SKULL@ZOMBIE did, fixed case sensitivity for creature skulls.
  • Fix: correctly check Heroes class (heroes.class condition)
  • Fix: lorename now correctly parses variables in ItemDrop (fixes issue where color was still part of name)
  • Fix: effects parameter now correctly case insensitive (and added fuzzy match so space/dash/underscore ignored)
  • Fix: (minor) use the correct "parse" on ItemDrop (for mob equipment), worked anyway but this is more accurate.
  • Minor: started work on possible embedded message (mostly to support droplists).

Beta release 2.8b.334

  • Add: redstone power event (POWERUP, POWERDOWN) triggers. Also triggers on surrounding (non-powerable) blocks.
  • Add: PLAYERJOIN & PLAYERRESPAWN triggers.
  • Add: support SKULL@THIS or SKULL@%v - drops victim head (supports playernames and creatures with currently known skull types)
  • Add: support creature names for spawneggs (eg. spawnegg@zombie).
  • Add: allow comparatives ("<4" etc, for lightlevel, height, attackrage) to support a range (eg. 1-5).
  • Add: disable_metrics option - for older Tekkit or Bukkit versions that don't support methods that Metrics calls upon.
  • Add: note in config that enchantments_ignore_level requires enchantmnets_use_unsafe to be true
  • Add: allow unknown entities to be targets (enables rightclicking on a ENTITY_ENDER_CRYSTAL for example)
  • Change: OtherDrops now built as a single jar file containing all resources into the jar file. These are extracted on first run if files don't exist.
  • Change: a left click on a mob is now handled as a "HIT" action/trigger. "LEFTCLICK" still supported (automatically changed to HIT if it's configured on a mob)
  • Change: HIT trigger changed internally to LEFTCLICK if it's on a block.
  • Fix: move Enderman data to it's own class so enderman@<material>@<id> works. Also added enderman@carry or enderman@nocarry.
  • Fix: correctly support multiple enchantments on a required "tool"
  • Fix: regions condition now case insensitive (as WorldGuard stores regions in lowercase anyway)
  • Fix: drop: DENY now correctly removes player inventory.
  • Fix: normal drops shouldn't set override default to false (fixes issue with drop: DENY failing if another drop also occurs)
  • Fix: allow AIR (drop: NOTHING) itemdrops to correctly override default (fixes issue when loot_overrides_default is set to false)
  • Fix: trim space from front/end of commands to avoid issue with "/!* test" (space before 'test' command)
  • Fix: replaceAll("[ -_]") was removing numbers (eg. huge_mushroom_1->hugemushroom) - replaced with "[
    s-_]" in matchMaterial and throughout OtherDrops
  • Fix: avoid NPE when using "/$" in the command parameter
  • Fix: avoid NPE with CoreProtect by adding to plugin.yml softdepends
  • Fix: getStringList now doesn't give NPE error on integers (eg. [268, 257])
  • Fix: pass correctly split name into DropList parsers (was previously getting full "name/quan/chance" still as the name)
  • Fix bug where drop: <item>/1/80 would trim last number and give 8%.
  • Fix: villager data to use ageable (baby) and livingentity (health & equipment)
  • Fix: allow "ANY" targets to correctly register listeners.
  • Fix: lightlevel now correctly gets the maximum lightlevel of surrounding blocks (if the target is not transparent)
  • Fix: issue with <name>/<quantity>/<chance>% returning empty chance value sometimes
  • Fix: inksack color, coal type and livingentity h (or hp) to be case insensitive
  • Minor: add alias spawneregg=monsteregg

Beta release 2.8b.156

  • new parameter - sound: <sound>/10v/1p (where v is volume and p is pitch - both optional)
    • Supports all current and future Bukkit "Sound" values
  • /od id now shows lorename (including full color codes)
  • fix for NPE errors regarding EntityDamageByEntity event
  • allow negative damage (with "damage" parameter) to heal entities
  • damage now ent from the entity that attacked (fixes issue with snowmen/snowballs)
  • check that replacementblock is valid to avoid rare crash if it was misconfigured

Beta release 2.8b.89

  • Cleanup some imports.
  • Add: aliases lavaslime & magmaslime = MAGMA_CUBE
  • fix: remove debug message seen when using eq:head:<item> for mobs
  • Fix: creeper drops not working
  • Fix: allow SLIME(and MAGMACUBE)@TINY/SMALL/BIG/HUGE & numerical (for larger slimes)
  • Change: max health now requires a "h" - eg. ZOMBIE@5h or zombie@baby@5H (allows for me to fix for eg. SLIME@32)
  • Fix: stop mutiple entities (eg. zombie/10) spawning in a line rather than on the spot
  • Fix: correctly parse tools for "explosives" (eg. tnt, fireball).
  • Fix: messageaction - empty string no longer gets sent to player chat.
  • cleanup - remove some debug messages & auto-generated catch block comments
  • Fix trigger counting for custom metrics graph, set debug msg to high verbosity
  • allow tools as data ID - eg. "tool: 276" = diamond sword
  • add command to view mob details - /od id mob

New build, only minor changes - 2.8b.54 (new version number format - major.minor(b|a).buildnumber - where a or b = alpha or beta).

  • improve /od show command (don't show null parameters, add standardised formatting and newlines)
  • show /odd usage message if no arguments provided
  • minor cleanup - remove unused OtherDropsConfig.priority and mark some variables "final"
  • Add metrics graph for tracking number of each trigger (action) used
  • modify potioneffectlevel so that userwritten config value matches ingame value (because Bukkit lvl 0 = ingame lvl 1)
  • fix NPE in EntityDamageByEntity (if no entity?)
  • Avoid "found" and "notFoundPlugins" console messages being duplicated upon Bukkit reload
  • add auto-incrementing build numbers

Release 2.8-beta6

  • overhaul enchantments system, allow item@!random!random for multiple random enchantments, support enchantedbooks (item@!random = random ench & level, item@!random#1 = random ench of level 1, item@!DAMAGE_ALL#? = damage_all ench and random level, item@!random!random = two different random enchantments)
  • register PigZombieData class and allow it to extend Zombie (to allow for @BABY or VILLAGER pigzombies)
  • allow EXPLOSION_TNT to match EXPLOSION_PRIMED_TNT (which is what actually occurs)
  • add Heroes condition (heroes.class & heroes.level) if Heroes plugin found
  • add aliases (sticks->stick, zombiepig->pigzombie)
  • allow drop: NOTHING to cancel entity equipment drops
  • fix leafdecay drop: NOTHING & extract "clearDrops()" method from performDrop
  • center mob spawns on the block, rather than spawning in the corner
  • Support colon as a data separator for items eg. ("wool:red") as some users will expect this format (previous separator "wool@red" works as normal)
  • stop dropgroups sending a blank line to player's chat
  • fix MoneyDrop - needed to load Vault after globalconfig but before loading drops
  • ensure all creatures use same data separator (currently "!!")
  • initial testing for PistonExtendEvent to intercept melon/pumpkin/etc smashing (not yet live)
  • stop CreatureData changing case (as data like playername for skull owner is case sensitive)
  • fix spawnlistener (it was ignoring non-custom spawns instead of custom ones)
  • avoid NPE in OdEnchantedBookMeta
  • minor - avoid issue with tailing characters (eg. DIAMONDSWORD@!)

Release 2.8-beta5.1

  • Added drop command - /odd <item/mob> - eg. /odd diamondsword@!damage_all#3~MySword
  • Skull owner support - /odd skull_item@Notch. (Case sensitive)
  • Added skull aliases - skull=skull_item, skull_block=skull (original bukkit "skull" is the block but most people will want the item)
  • Leather armor color support - /odd leatherpants@red (includes any dye color, also try richred richblue more colors, eg. By RGB number, to come later)
  • Written book support - /odd writtenbook@author=me:title=Snail:page=Once there was a:page=snail.
  • EnchantedBook support - /odd enchantedbook@damage_all
  • All mobs now support maxhealth & equipment.
  • All ageables (sheep, pig, cow, wolf, etc) now support baby/adult.
  • Support creatures riding creatures (passenger^ride) - eg. cow^bat = cow riding a bat. Supports entities, eg. entity_boat^bat
  • /od id command now also identifies block looked at.
  • Entity name matches by shortest unqieu name if starting with ; (mostly for /odd command) - eg. /odd ;z = spawn zombie

Release 2.8-beta4

  • fix LogBlock/BigBrother/Hawkeye/CoreProtect support (was registering AIR rather than correct block)
  • add RegenBlock support
  • remove docs-help folder (docs there are out of date)
  • allow SpawnedCheck to work with CreatureSpawnEvents
  • fix DamageAction - allow parsing of integers (eg. damage.victim: [20] no longer gives an error)
  • add new trigger: HIT (applies to any entity hitting another, except a player hitting, that's still LEFT_CLICK to avoid breaking existing configs).
  • added potioneffect.drop (applies to dropped LivingEntities - eg. any mob)
  • allow LoreNameCheck to apply to tool used to fire a projectile (more accurately: the item in the shooters hand - eg. PROJECTILE_ARROW lorename: MyBow will check the lorename on the bow rather than the projectile).
  • allow RANDOM as an enchantment (will search for a random valid enchantment)
  • enchantments level now an IntRange and works in tool: condition. (eg. tool: DIAMOND_SWORD@!DAMAGE_ALL#3-6)
  • fix "xp_overrides_default" setting

And here's some examples of what the changes let us do:

GRASS: - drop: [SKELETON, ZOMBIE] potioneffect.drop: SPEED@300@5 - drop: [FISHING_ROD@!~Poison Whip, BLAZEROD@!FIRE_ASPECT#6~Flaming Justice, DIAMOND_SWORD@!DAMAGE_ALL#1-6~Butterfly, BOW@!~Bow of Zeus, ARROW/64] dropspread: false ANY_CREATURE: - tool: DIAMOND_SWORD@!DAMAGE_ALL#2 drop: DIAMOND - tool: DIAMOND_SWORD@!DAMAGE_ALL#5 drop: EGG - action: HIT tool: PROJECTILE_FISHING_ROD lorename: Poison Whip potioneffect.victim: POISON@60@5 damage.victim: 1 message: "You've poisoned %v." - action: HIT tool: PROJECTILE_ARROW lorename: Bow of Zeus damage.victim: [LIGHTNING@20] - action: LEFT_CLICK tool: BLAZEROD lorename: Flaming Justice damage.victim: [5-500] message: "You've set %v on fire." # Pokeball like action! :) - action: HIT tool: PROJECTILE_EGG drop: SPAWNEGG@THIS replacementblock: AIR

Release - 2.8-beta3

  • NOTE: multiple enchantments on item separator is now a "!" rather than "," - eg. bow@!arrow_damage#5!arrow_fire#1 rather than the old bow@!arrow_damage#5,arrow_fire#1 (this is to fix issue within droplists)
  • extend potioneffect parameter: potioneffect.<type>: SPEED@<duration(ticks)>@<strength> (eg. SPEED@400@3 - be careful, too high a strength value goes weird) where type is: attacker, victim, world, server or radius (eg. potioneffect.victim)
  • allow message.radius (plus potion.radius & damage.radius) to work(defaults to 10 - Unchangeable at this time.) Radius type only applies to players.
  • add DamageAction - similar to PotionAction & MessageAction this has multiple parameters: damage.attacker, .victim, .world, .server & .radius. Damge can be normal, fire or lightning. eg:
# apply fire to 500 ticks (might change to look like fire@500t) damage.victim: [fire@500] # apply between 2 to 6 normal damage damage.attacker: [2-6] # strike whole server with lightning (*evil laugh*) - supports loc-randomise parameter damage.server: [lightning]
  • add action: MOB_SPAWN as possible trigger.
# example: drop diamond on zombie spawns & apply a speed potion effect to the zombie ZOMBIE: - action: MOBSPAWN drop: DIAMOND - action: MOBSPAWN drop: DEFAULT # "default" in this context means "allow zombie to spawn" potioneffect.victim: SPEED@2000@7 # another example: replace zombie's in the desert with blazes: ZOMBIE: - action MOBSPAWN drop: BLAZE # drop a blaze mob, and because there's no "default" the zombie wont spawn biome: DESERT # only in the desert # replace Skeletons with random number between 1 & 6 skeletons in desert SKELETON: - action: MOBSPAWN drop: SKELETON/1-6 biome: DESERT # NOTE: I've added protection against recursion by ignoring custom spawns (eg. drops from otherdrops) otherwise: zombie: -action:mobspawn drop: zombie/2 - each zombie drops 2 zombies which trigger the spawn and drop another 2, etc would crash the server. There is an option to enable mobspawn trigger working on custom mobs - let me know if you need it.
  • added support for CoreProtect (logging blockbreak's cancelled by OtherDrops).
  • allow a list for spawnedby (eg. [NORMAL, OTHERDROPS] or [-SPAWNER]).
  • added named aliases for crop states to carrots & potatoes.
  • added Cocoa as alias for dye@brown.
  • add data support for WOOD (eg. WOOD@JUNGLE), WOOD_STEP(slab), WOOD_DOUBLESTEP, COBBLEWALL, STEP@NETHER_BRICK, SANDSTONE
  • fix /odr so it reregisters appropriate events.
  • fix - allow CommonMaterial aliases to work with targets.
  • fix lorename so it works when item data exists (eg. diamondsword@400!Blah)
  • fix for "invalid enchantment" message appearing even with blank enchantments.
  • fix permissions & permissiongroups condition - if agent is not a player we now return false (if permissions condition exists).

Release - 2.8-beta2

  • add "spawnedby" condition - will check against any possible SpawnReason and custom reasons (eg. "OtherDrops"). Example:
COW: - spawnedby: OTHERDROPS drop: DIAMOND - spawnedby: SPAWNER_EGG drop: GOLDINGOT - tool: ANY drop: SNOWBALL
  • add OtherDrops-config.yml options: "enchantments_use_unsafe" (add any enchant to any item/tool) and "enchantments_ignore_level" (ignore enchant start/max level) - eg. "drop: diamond_pickaxe@!dig_speed#50" or "feather@!damage_all#3".
  • add WolfData - now supports baby, maxhealth, tamed/untamed, angry/neutral & collar color - eg. wolf@tamed!blue (for blue collar) or wolf@baby.
  • fix MagmaCube data so magmacube@tiny or small, normal, huge now works
  • fix tool: PLAYER (now correctly matches any object or projectile) and ANY_OBJECT (now correctly matches any object and not environmental or other creature damage)

Release - 2.8-beta1

  • CreatureData overhaul - big change to how CreatureData is handled, alllows for:
    • Villager professions and "baby" status - eg. VILLAGER@BUTCHER, VILLAGER@LIBRARIAN!BABY or just VILLAGER@BABY.
    • Baby: chicken, cow, pig, mushroom_cow (note: sheep & wolf not added yet due to complexities)
    • Ocelot "baby" status and make config easier/more resilient (can be OCELOT@RED!TAME!BABY or @WILD!BLACK, etc). Config is OCELOT@<type>!<wild or tame>!<baby - optional> order of type/wild/baby doesn't matter.
    • added Zombie "baby" status, "villager" status and maxhealth (any number given) - eg. (ZOMBIE@VILLAGER!BABY!20). This can be used in both the drop and the target, eg:
GRASS: - drop: ZOMBIE@20 # zombie with maxhealth 20 ZOMBIE@20: # drop TNT, _only_ for maxhealth 20 zombies. - drop: TNT
    • Skeleton: support wither.
    • Skeleton: default to holding bow.
    • Skeleton: test version of equipment config (allows for setting all armour slots and holding, any item including datavalues and enchantments) - format is SKELETON@eq:<slot>:<material>@<data>\!<enchantment>#<ench level><<dropchance>!!<next slot....>. Yes, there is a "<" character before the dropchance and you do need "!!" rather than "!" as the main separator and "\!" as the separator before any enchantments - couldn't process the config properly any easier way. Here's an example:
SAND: - drop: SKELETON@eq:head:DIAMOND_HELMET@\!THORNS<50!!eq:hands:DIAMOND_SWORD@\!DAMAGE_ALL#3<50
  • fix a NPE error occuring when using "message.server" for leaf decay
  • allow creature aliases, added alias "witherskeleton" = "skeleton@wither"
  • shift dependency loading to a separate class - more consistent
  • only register event listeners if a config for that type of event exists
  • remove obselete Register, useYetiPermissions & Profiler sections

Release - 2.7.1

  • Compiled with Java 6
  • Dropping with lorename changed from % to ~ to avoid conflict with variables (eg. drop: DIAMOND_SWORD@!Butterfly Sword)
  • Add more formatting variables for LoreName & messages (Bold: &l, Strikethrough: &m, Underline: &n, Italic: &o, Reset: &r)
  • Fix some debugging messages (to do with lorename) always showing
  • Only send "no economy plugin found" message if both Register and Vault not loaded (note: will be removing Register in next build, as Vault has replaced it)

Release 2.7

  • No major changes since beta2.
  • Move "unknown material" message from verbosity high to low (as an admin would reasonably want to see this message, even on verbosity low, to know their config needs fixing)
  • Added a null check to MessageAction to avoid a possible NPE error.

Release 2.7-beta2

  • fix "exclusive drop group" (ie. { }) so that it works as a distribution (ie. previously {SAND/50%, DIRT/50%} would choose one option and then run the chance a second time so 50% of the time nothing dropped - now it's a 50/50 chance of either Sand or Dirt).
    • Percentages below 100% will be buffered with "NOTHING", ie. {SAND/10%, DIRT/10%} has a 80% chance from dropping nothing.
    • Percentages above 100% will be rounded down as a whole, ie. {SAND/90%, DIRT/90%} is still just a 50/50 chance of either.
  • added "lorename" condition - requires the item in player hand to have given "lorename".
    • Will probably move this condition into the tool name at a later stage.
# example: GRASS: - drop: DIAMOND lorename: diamonddropper # requires an item called diamonddropper # add a tool condition if you want
  • allow dropping an item with a lore name - <ITEMNAME>@!%<LORENAME> (eg. diamondsword@!%Butterfly) - can be combined with data values & enchantments but either way the "@!%" is still needed.
  • added more material aliases (eg. firecharge = fireball, creeperhead = skullitem@4) - let me know if there's a commonly used name I've missed
  • added TNTPrimed to entity list (to avoid "unknown entity" error)
  • increased BlockBreak, LeafDecay & PlayerInteract events from HIGH to HIGHEST priority (to fix issues with Regios plugin)
  • added jungle leaves to "leaf_overhaul" module

Release 2.7-beta1

  • fix for Jukebox NPE error
  • fix ItemFrame "unknown entity" error & move all unknown entity messages to verbosity "HIGH" (=less console spam)
  • fix issue with "drop: DEFAULT" not working
  • fix issue where mobs always dropped default items/xp
  • fix for "tool: HANDS" failing in 2.6-beta1
  • add Metrics support (metrics.griefcraft.com) to track anonymous usage stats (opt-out in plugins/PluginMetrics/config.yml - set opt-out to true)
    • note: over 1000 minecraft plugins already use this library so you've probably already got it and I thought the stats would be interesting. Everyone gets to see the same stats here: http://mcstats.org/plugin/OtherDrops
  • fix for mobs dropping custom items/xp inside MobArena arenas

Release 2.6-beta1

  • fixed player hurt animation playing for all block breaks
  • fixed "defaults" not being cleared on new file

Release 2.6-pre3

  • fixes issues loading "default:" section of files,
  • fixes issue with trying to load vault when it's not there

Release 2.6-pre2

  • fixed issue reading PLAYER targets.

Release 2.6-pre1

  • Adds vault support for money drops.
  • XP & money drops no longer override default drop.
  • add settings for loot/xp/money_overrides_default to otherdrops-config.yml
  • ocelot/cats now support wild/tamed (cats tame by default, ocelots wild by default) - eg. ocelot@redcat\tamed (note, must be backslash, not forwardslash).
  • replacetool can now include a quantity (eg. replacetool: diamond/3 will take away replace current tool(s) in hand with 3 diamonds)
  • account for EnderCrystal in getEntityTarget() - currently does nothing with it (so EnderCrystal is not a valid target yet)
  • allow "tool: " to require a quantity (eg. "tool: dead_bush/2" requires two or more dead bushes to be held)
  • add 'delay: 1' if action = rightclick and replacetool is set (this avoids issue with tools being replaced by a water or lava bucket that then gets used).
  • fix npe in thunder event, rename thunder event to thunderstorm, default duration to 2 minutes

Comments

Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Plantronics GameCom Commander Headset Giveaway!