Change Log

Change Log

Release 2.8-beta5.1 (2013/02/23)

  • Added drop command - /odd <item/mob> - eg. /odd diamondsword@!damage_all#3MySword
  • 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 (2013/02/18)

  • 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 (2013/02/17)

  • 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 (2013/02/12)

  • 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 (2013/02/10)

  • 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 occurring 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 obsolete Register, useYetiPermissions & Profiler sections

Release 2.7.1 (2013/01/27)

  • 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 (2013/01/19) - Note: This release was for Java 7 future releases are Java 6 though

  • 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 (2013/01/13)

  • 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 (2013/01/9)

  • 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: metrics.griefcraft.com/plugin/OtherDrops
  • fix for mobs dropping custom items/xp inside MobArena arenas

Release 2.5.2 - Use newer versions now

  • rollback to fix damage player issue

Release 2.6-beta1 (2012/03/30)

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

Release 2.6-pre3 (2012/03/21)

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

Release 2.6-pre1 (2012/03/19)

  • 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

Release 2.5.1

  • fix NPE when breaking vehicles
  • fix enchantment aliases (eg. sharpness, smite, etc) not working if uppercase (official bukkit names were ok)

Release 2.5

  • add new aliases for enchantments to match common names
  • add two more material aliases (cauldron_block, brewing_stand_block)
  • add mobspawnercheck.not (or msir.not) to check if a spawner is _not_ within radius
  • fix a couple of "cannot measure distance between worlds" errors in rare situations

Release 2.5-beta2 ("featurecreeper")

  • add /od enable, /od disable (alias: /ode, /odd) to turn OtherDrops on and off (registers/de-registers listeners)
  • add alias cat=ocelot
  • fixed boats as target (ie. you can configure what happens when a boat hits land - cannot yet distinguish this from player attacking the boat)
  • add new "potioneffect:" parameter, example:
  DIRT:
    - potioneffects: [SPEED@100@5, BLINDNESS@100@5  # speed & blindness for 100 ticks with strength 5 each

Format will likely change to <effect>@time/strength. See here for full list of effects.

  • new parameter "mobspawnerinradius" (alias "msir") - this condition checks if a mobspawner is within a given radius, example:
  SKELETON:
    - drop: MONEY@20

    - msir: 5
      drop: NOTHING
      flags: UNIQUE
      message: "Mobspawner too close (within 5 blocks) - no money for you!"

More awkward than other plugins mobspawner protections but more powerful (can damage player or even blind/confuse with new potioneffects).

Release 2.5-beta1

  • fix issue reading "quantity:" parameter
  • fix "message:" parameter so it works with projectile_arrow
  • plugin dependencies loading made more robust (will continue to load if one fails)
  • added LEAVES@JUNGLE decay support (ie. datavalue=7)

Release 2.5-pre4

  • attempted fix at leaves@3 decay message
  • fix EVENTS IS NULL msg
  • support LEAVES@JUNGLE
  • fix parsing creature names with underscores

Release 2.5-pre3

  • add new MessageAction - supports message.attacker, .victim, .world, .server
  • fix grilledfish=rawfish alias (now correctly =cookedfish) and added fish=rawfish
  • fix issue where drop: NOTHING did not clear mob drops

example of new messages:

  PLAYER:
    - drop: DIAMOND
      message.attacker: "This message is same as message: ..."
      message.victim: "You got pwned by %p with %t."
      message.world: "Hey world! %p killed %v with a %t."
      message.server: "Hey everyone! ... nothing."

Yes, you can use all of the messages at once if you wish. Next feature is to allow default colours for each message type in the otherdrops-config.yml file but haven't got much time for a while so wanted to push this release quickly to see if there are any bugs I missed.

Release 2.5-pre2

  • fix some minor issues with pre1
  • add support for Ocelot cat types (WILD_OCELOT, BLACK_CAT, RED_CAT, SIAMESE_CAT)
  • add support for STONE_BRICK@CIRCLE
  • fix issue with drop: DYE@THIS
  • fix problems with SHEEP@UNSHEARED

************* * Note: versions below here do not work with BukkitR5 and newer * ***************

Release 2.4-beta1

  • add new message variable %v, make variables (%v, %t & %p) return human readable values (eg. arrow instead of PROJECTILE_ARROW@0)
  • add same variables to command parameter
  • add MONEY@PENALTY (will reduce the attackers funds, doesn't effect the victim) and allow MONEY@STEAL without an attacker (eg. victim falls to death - will lose funds)
  • prevent playerinteract events being parsed if player in creative mode
  • add endermen=enderman alias
  • fix NPE issue with ENDERMAN data that caused the config to fail to load a section containing "drop: enderman"
  • fix support for targets as block id (still requires quotation marks surrounding, eg. "120":)
  • add /od settings command to show current config settings
  • add more MaterialAliases
  • add new mobs properly to CommonEntity (fixes issue where BLAZE: drop: SPAWNEGG@THIS didn't work)

Release 2.3

  • improve message action - %t now correctly shows just the tool (if playersubject) and added %p for playername
  • fix issue where in some cases the default entity drop would duplicate (leading to many bones/arrows/rottenmeat/etc in extreme situations)
  • fix bug where enchantments were not applied if dropspread: false
  • fix npe in ProjectileAgent (fixes BukkitDev Issue #80)
  • fix WOOL@THIS not working with SHEEP@SHEARED/BLUE
  • fix issue with region check when using multiple regions in the condition
  • improve occurredevent.measureRange warning (when worlds don't match) - move to verbosity high.

Release 2.3-beta6

  • fix for "getitem() is null" message
  • remove wheat=crops material alias (as wheat is a valid item)
  • added a heap more material aliases (see here for full list)

Release 2.3-beta5

  • fix bug where player drops if configured would override default drop and clear the players inventory on death
  • add WHEAT as alias for CROPS & SEED as alias for SEEDS
  • fix NPE in onPlayerInteract where item in player hands is null (shouldn't happen, as empty hands is Material.AIR - not null, but it does)
  • add BLOCK_DAMAGED as alias for LEFT_CLICK action
  • remove a debug message for enchantments that showed on each config reload
  • fix NPE where currentEvent.getTool().getShooter() is null (shouldn't happen, will investigate cause later)

Release 2.3-beta4

  • fix NPE when using DEFAULT drop
  • add "disable_xp_on_non_default" to stop mobs dropping XP if no default drop is added
  • allow DENY to work with explosions (denies the particular block type from exploding)
  • fish_caught "drops" are now thrown at the player from the location caught (ie. fishing rod sinker)
  • fix for some cases when logging (logblock/hawkeye/bigbrother) would log two messages for one event

Release 2.3-beta3

  • fix another NPE due to measuring "range" between two worlds (and refactor "range" safety checks into one function)
  • fix od-goldtools-basic.yml (allows you to gather ice which will produce water in nether) to drop: NOTHING in nether
  • add default_dropspread option to otherdrops-config.yml
  • fix issue where drops without a drop (eg. just a message or an event) overrode default drop
  • allow setting "default_dropspread" in config file (false means drops will be one stack unless override with a dropspread
  • handle custom damage (fixes BukkitDev ticket 65 - MCMMO custom damage causing NPE)
  • fix hawkeye logging so it only occurs on Action.BREAK

Be careful with this one - I had to change a lot to fix the issues with drops without a drop overriding default drop. I ran it through a full test but still could have missed something - please let me know if there are any issues.

Version 2.3-beta2 (2012/02/06)

  • remove MONSTER from group
  • fix error with WOOL@THIS (white sheep dropped black wool)
  • honor mobarena protection
  • support multiple enchantments for tools (not levels yet)
  • minor fixes and NPE catching

Version 2.3-beta1 (2012/02/04)

  • disable Enderdragon explosions (too dangerous - easy to cause server overload - will later enable via a config option)
  • fix IN_MOB_ARENA flag
  • More flexible aliases system - now ignores spaces, dashes and underscores (ie. goldhelm will match GOLD_HELM).
  • Revamp of main drop function - "exclusive" now removed but replaced with more powerful usage of UNIQUE flag, eg:
   # this config sets up two drop groups where the contents of each dropgroup are UNIQUE
   # basically this selects one drop at random from each dropgroup (ie. web & gold, OR web & XP)
    SPIDER:
      - dropgroup: xp_or_money
        drops:
          - drop: GOLD_INGOT/2
            flags: UNIQUE
          - drop: XP/25/100%
            flags: UNIQUE
      - dropgroup: loot
        drops:
          - drop: WEB
            flags: UNIQUE
          - drop: .....
  • Added "THIS" for datavals - eg:
  SHEEP:
    - drop: WOOL@THIS # will drop wool of same color as sheep
  LOG:
    - drop: LOG@THIS # drop same log as tree you are breaking
  ANY_CREATURE:
    - drop: SPAWN_EGG@THIS # drop an egg that spawns the creature just killed
  • support block level "exceptions", eg:
  ANYBLOCK except [FURNACE, WORKBENCH]:
    - drop: DIAMOND

This may end up changing to a format of [ANYBLOCK, -FURNACE, -WORKBENCH]

  • improve stopmobfarm config and change DAMAGE_BURN to an alias for FIRE/FIRE_TICK/LAVA.
  • add alias "BLOCK_BREAK" for action "BREAK"
  • fix EXPLOSION_TNT & EXPLOSION_ANY tool, add EXPLOSION as an alias for EXPLOSION_ANY
  • only default tooldamage to 1 for blockbreak events (this was only meant to be a protection due to the need to cancel blockbreak events)
  • trim enchantment names so "SWORD@ench1, ench2" will work (previously the space after the comma would cause it to fail
  • fix NPE in PlayerInteractEvent
  • add distance safety check (to fix NPE) in PlayerInteractEntityEvent
  • Improved some log/debug messages

Version 2.2.1 (2012/01/30)

  • Quickfix for messages in some configs showing 0 for %q

Version 2.2 (2012/01/30)

  • DEFAULT now works correctly with fishing actions
  • new aliases (SPAWN_EGG for MONSTER_EGG, GLISTERING_MELON for SPECKLED_MELON)
  • od-fix_undroppables now has endermen dropping their contents on death

Version 2.2-beta1 (2012/01/29)

  • added FISH_CAUGHT & FISH_FAILED actions
  • mooshroom now works instead of being seen as a cow
  • fix bug where PROJECTILE_ARROW didn't send messages
  • attempt fix NPE in SimpleData.get()
  • new flexible way of checking creature names
  • added HELM as alias for HELMET (eg. IRON_HELM)

Fishing example:

    PLAYER:
        - dropgroup: fishcaught
          action: FISH_CAUGHT
          drops:
            - drop: IRON_HELM@50
              message: "Bonus!You found an iron helmet - a little rusty but still ok."
              chance: 5%
              exclusive: 1
            - drop: {DIAMOND, GOLD_ORE, OBSIDIAN}
              chance: 3%
              exclusive: 1
              message: "Woo, you hooked a precious stone!"
        - action: FISH_FAILED
          drop: LEATHER_BOOTS
          chance: 2%

Currently this will always drop the default fish as well, that will be fixed in the next release (then you will have to add drop: DEFAULT if you want the fish as well). Caveats: currently we cannot add items to your inventory and there's no way to determine the location of the fishing "bobble" so it just drops items at your feet. Bonus: you can use all the usual conditions (biome, weather, world, etc) to customise fishing.

Version 2.1.2 (2012/01/25)

  • add dropgroup conditions back in
  • fix "drop:" default value (if not specified) - was DEFAULT, now NOTHING (more intuitive)
  • stop "drop: NOTHING" replacing blocks on actions other than blockbreak

Version 2.1.1 (2012/01/25)

  • fix for "drop: default" not working
  • fix for "ALL:" & "ANY_CREATURE"
  • fix chance condition for dropgroups

Version 2.1 (2012/01/24)

  • enchantment support! eg. "drop: DIAMOND_SWORD@!DAMAGE_ALL#3, FIRE_ASPECT#2" - see here for more details
  • fix for bug where if an embedded chance fails the block doesn't break

Version 2.0.1 (2012/01/23)

  • remove hawkeye logging (it worked, but made plugin dependant on hawkeye - use "2.0" only if you have HawkEye)

Version 2.0 (2012/01/22)

  • only change from beta13-2 is support for integer drop values (eg. drop: 318@1022)
  • confirmation that major bugs have been fixed

Version 2.0-beta13-2:

  • fix for HawkEye logging - should work now

Version 2.0-beta13-1:

  • fix for ANY_EXPLOSION, EXPLOSION_CREEPER & EXPLOSION_TNT
  • fix to allow custom drops dropping during tnt/creeper explosions

Version 2.0-beta12 (2012/01/22)

  • fix "delay bug" choosing same location
  • dropgroups now have separate messages (handy for delays - show immediate message then delayed messages with event)
  • fix IN_MOB_ARENA flag
  • fix UNIQUE flag
  • update hawkeye logging (hopefully rollback works? not tested)
  • remove ProjectileAgent debug msg
  • fix for negative regions (region: [-here])
  • fix for ANY_BLOCK (using replacement block or DENY changed any block to the first block you broke)

Version 2.0-beta11

  • remove spawn_egg alias to allow compability with Minecraft 1.0.1 Bukkit
  • clear up a couple of debug messages
  • fix NPE in weather check
  • add datavalues for magma_cube

Version 2.0-beta10

  • basic support for enchantments
  • fix no death animation & entities removing block within
  • update to 1.0 & 1.1 (mobs/items)
  • ignore players in creative mode (onblockbreak)

Version 2.0-beta7 (2011/10/05)

  • specifying chance within a curly-bracketed ("choose one") drop list now applies distribution (eg. {APPLE/75%, EGG/25%} drops apples 3x as often as eggs)
  • using chances with exclusive: drop lists now mimics curly-bracket distribution (above)
  • CONTENTS drop for endermen
  • MONEY_STEAL replaced with MONEY@STEAL
  • MONEY@5 no longer works; use normal quantity syntax instead (likewise with XP)
  • PLAYER, PLAYER@<name> now valid as tools
  • drop groups now nestable
  • added data values for smooth brick, monster eggs, new slabs, and monster spawners
  • group synonyms beginning with ANY_ can use EVERY_ to drop each member of the group (or preface the group synonym with ^, such as for creature groups that don't start with ANY_)
  • JUKEBOX contents now supported
  • drops with flag: UNIQUE will now be checked before other drops for a given object
  • ranges now supported in embedded quantity (eg. EGG/1-2/10%)
  • messages now support %t to display the tool name
  • PAINTING now supports data values (see javadoc for specific painting value names)
  • ANY_VEHICLE as a drop will spawn some kind of minecart or boat
  • various bugfixes

Version 2.0-beta6 (2011/09/22)

  • support STEP@BRICK & STEP@SMOOTH_BRICK
  • fix issues with "worlds" in "defaults" section - made more robust
  • made "flags" more robust (flags: UNIQUE works now)
  • fix NPE (due to randomised loc not being initialised)

Version 2.0-beta5 (2011/09/21)

  • add XP@<amount> drop
  • fix for iConomy6
  • fix tnt overriding worldguard setting
  • finetune error/startup messages
  • material aliases in tools (eg. hands=air)
  • fix defaults blocks in example configs
  • updated creature groups with 1.8 mobs
  • added CREATURE_BUG group
  • more work on making the config more robust (eg. cope with RED ROSE for RED_ROSE, cope with alternate parameter names - world/worlds, tool/tools, etc)
  • fix for NPE when boats burn
  • fix for vehicles with drops not being removed

Version 2.0-beta4 (2011/09/20)

  • fixed the entity drops issue (including money)
  • fix permissions
  • add ob-stop_mob_farms.yml (not yet working)
  • update help docs
  • remove the "location" debug message
  • extra comments in fix_undroppables
  • add new aliases:
  1. format: ALIAS(OFFICIAL_BUKKIT_NAME) GLASS_PANE(THIN_GLASS), WOODEN_SPADE(WOOD_SPADE), WOODEN_AXE(WOOD_AXE), WOODEN_HOE(WOOD_HOE), WOODEN_PICKAXE(WOOD_PICKAXE), WOODEN_SWORD(WOOD_SWORD), WOODEN_PLATE(WOOD_PLATE), PLANK(WOOD), WOODEN_PLANK(WOOD), WOOD_DOOR(WOODEN_DOOR), STONE_PRESSUREPLATE(STONE_PLATE), WOOD_PRESSUREPLATE(WOOD_PLATE), WOODEN_PRESSUREPLATE(WOOD_PLATE), HANDS(AIR), TALL_GRASS(LONG_GRASS), DANDELION(YELLOW_FLOWER), ROSE(RED_ROSE), RED_FLOWER(RED_ROSE), MOSS_STONE(MOSSY_COBBLESTONE), MOSSY_COBBLE(MOSSY_COBBLESTONE), GUNPOWDER(SULPHUR), SULFUR(SULPHUR), TRAPDOOR(TRAP_DOOR), SLAB(STEP), DOUBLE_SLAB(DOUBLE_STEP), CRAFTING_TABLE(WORKBENCH), FARMLAND(SOIL), VINES(VINE), STONE_BRICK(SMOOTH_BRICK),

Version 2.0-beta3 (2011/09/18)

  • improve fix_undroppables (1.8 support)
  • add loc-offset (eg. loc-offset: x/y/z) - adds location offset for drops/events/effects
  • renamed randomiseloc to loc-randomise
  • add NORMAL/MOSSY/CRACKED for SMOOTH_BRICK
  • fix for synonym drops (eg. ANY_AXE)
  • fix NPE for DAMAGE_FALL

Version 2.0-beta2 (2011/09/16)

  • fix worldguard bug (not respecting build rights)
  • fix player drops
  • od-dyewool module (by Celtic Minstrel)
  • other minor bugfixes

Version 2.0-beta1 (2011/09/01)

  • "RANGE-" is optional in drops (eg. can now use drop: WOOL@1-6 for random wool drops with data between 1 & 6)
  • fix for soundeffects/smoke
  • add randomiseloc (eg. randomiseloc: x/y/z - gives a random offset value for events and effects)
  • fix for entity deaths removing ladders
  • fix for dropgroups
  • added MONEY-DROP to allow dropping "real coins" with the MoneyDrop plugin
  • fix for NPE when using messages with no "drop" value

Version 1.96 (2011/09/05)

  • fix for onBlockBreak event not checking if event was cancelled

Version 1.95 (2011/08/29)

  • fix mobarena support (it worked but also disabled wolf drops outside the arena)
  • removed debug message

Version 1.94 (2011/08/28)

  • support for mobarena
  • Register update (iConomy 4/5/6, BOSEconomy 6/7, Essentials & MultiCurrency supporT)
  • Added usepermissions option back in (for those having issues with SuperPermsBridge or Permissions 3.16)

Version 1.93 (2011/08/17)

  • fix for pig drops not working
  • fix for blockbreak removing 1 item

Version 1.92 (2011/08/16)

  • fixed bug with clickright defaulting to "damagetool: 1"
  • fixed player drops (NullPointerException)
  • fixed rare ConcurrentModificationException

Version 1.91 (2011/08/11)

  • replacementblock now honors physics by default
  • new event: NOPHYSICS

Version 1.9 (2011/08/10)

  • left/rightclick blocks
  • rightclick entities
  • shear/unshear/sheartoggle events
  • runcommands - allows you to specify commands to run if the conditions are met. Start command with "*" to run as first OP in ops.txt, start with "!*" to suppress OP messages being sent to player (send to console instead), "%p" will be substituted with players name
  • /ob profile - for debugging/speed testing (example usage: /ob profile on, break some blocks, /ob profile blockbreak, /ob profile drops, /ob profile off)
  • FORCETREE - will create a tree on almost anything (excludes things with contents - chest, furnaces and dispensers)
  • damagetool removes items (eg. rightclick with bonemeal, remove 1 or 2 or x bonemeal)
  • fixed ore_extraction - now enforces correct pickaxes
  • shortcut for "drop: droptype/chance%/quantity"
  • replacementblock now supports data values
  • fixed DENY drop
  • fixed dropdata when dropping creatures (eg. can drop SHEEP@RED now)

Version 1.82

added lightlevel, fix for drops appearing too high, added tool/toolexcept to dropgroups, dropspread is now default (use dropspread:false for one itemstack)

Version 1.81

  • add slime size as datavalue (TINY, SMALL, BIG, HUGE) - or use an integer at your own risk (anything bigger than 32 probably can't move)
  • added dropspread option (TRUE or a percentage) - drops individual blocks rather than a single itemstack
  • added ore_extraction sample
  • improved permissions system (permissions enabled by default, now honours build rights correctly - otherblocks.active not needed)

Version 1.8

  • fixed major bug in worlds/height/etc
  • added better WorldGuard support (honors regions you can't build in)
  • fixed regions
  • added replacement block (be careful with this - examples to come)

Version 1.71

  • Fix damageattacker not stopping with exclusive flag

Version 1.7

  • added "delay" parameter (time specified in ticks)
  • added BigBrother API support
  • added WorldGuard "regions" condition to DropGroups
  • added messages to DropGroups
  • added events: LIGHTNING@PLAYER (strikes where the player currently is), LIGHTNING@PLAYERLOCATION (strikes where the player was at time block was broken, useful in combination with delay) and harmless variants.

Version 1.5

  • added regions condition (based on WorldGuard regions - you can now specify drops to occur only within a specific region or list of regions)
  • added admin command "/ob show <block>" so you can check your drops loaded properly.

Version 1.11

  • tool defaults to ALL, drop defaults to DEFAULT, fix for player drops not working

Version 1.1

  • fixed the ANY_REDSTONE_ORE block
  • added tool data - tools can now be "WOOL@RED" or "WOOL@14" and added BLOCK_DISPENSER kills, allowed DAMAGE_ENTITY_ATTACK to count for all entity attacks (other than players)
  • attackrange: mainly for bow & arrow - specify how far away you need to be (good for rewarding long distance archers)

Examples:

    CREATURE_COW:
      - tool: DAMAGE_ENTITY_ATTACK@BLOCK_DISPENSER  # only drop if attacked by something from a dispenser
        drop: GOLD_ORE
      - tool: DAMAGE_ENTITY_ATTACK@CREATURE_SKELETON # only drop if attacked by a skeleton
        drop: DIAMOND
      - tool: DAMAGE_ENTITY_ATTACK # drop for any entity attack (including the two above)
        drop: APPLE
      - tool: BOW # drop from a player hitting with a bow or firing an arrow (cannot currently distinguish)
        attackrange: ">10" # but we can now say the attack has to be from so far away :)
        drop: DIAMOND
      - tool: WOOL@RED
        drop: WOOL@BLUE

Version 1.03

  • added dropgroups (eg. allow small chance of sand to drop map/compass together)
  • re-structured code so it should be more lightweight
  • cleaned up debug messages/added more messages at higher verbosity levels

Version 1.02

  • small fix for tabs in configs, clean up configs & debug messages (2011/07/18)

Version 1.01 (2011/07/16)

  • 1.01 fix for boats, support for "&3" colors in messages, small bug fixes

Version 1.0 final (2011/07/16)

  • fixed a few bugs, cleaned up debug messages

Version 1.0beta2

  • major internal code restructure in prep for drop groups - this shouldn't change the config files at all, let me know if there are any issues there
  • more lightweight - the plugin now only checks through drops applicable to the block being broken, entity killed, etc (previously it quickly scanned through every drop in the config file for matches, now it uses a hashtable to directly get only the right drops).
  • some small bug-fixes/consistency, drop: DENY stops leaf decay (but doesn't work with other drops because leafs can keep decaying), exclusive: option should work for entities but I haven't tested this.
  • permissions/permissionsexcept option - this is more powerful than the current permissiongroups option. See the example below:
###########
# Permissions:
# In the example below you need to give the player or group the
# 'otherblocks.custom.glass' permission to drop the glass block.
# Giving them 'otherblocks.custom.glass.pain' as well will add the pain
# and giving 'otherblocks.custom.glass.*' will give both.
#########
#    GLASS:
#        - tool: ANY
#          drop: GLASS
#          quantity: 1
#          permissions: "glass"
#        - tool: AIR
#          drop: NOTHING
#          damageattacker: 2
#          permissions: "glass.pain"
#          message: "Ouch! That hurt."
#          chance: 25

Version 1.0 (beta1) (2011/07/12)

  • include-files option to include separate config files
  • extra config examples included as "include-files"
  • "defaults" parameter for separate config files (eg. you can specify a default world and it will apply to every drop in that file - can save a lot of typing :))
  • bugfix: /obr bug (didn't work without permissions turned on, now will use ops if no permissions)
  • bugfix: sheep dropdata fixed - you can now drop coloured sheep, if you so desire
  • bugfix: PLAYER drops now default to dropping inventory - use drop: NODROP to disable player inventory drops

Version 0.9.9-2

  • fix for issue where drops missing the color parameter no longer work

Version 0.9.9-1

  • fix for color parameter bug

Version 0.9.9 (2011/07/11)

basic "exclusive" parameter (blocks only - entities and leafdecay later) "damageattacker" parameter drop: DENY (to deny block breakage) PLAYER (any) drops integer values for block and drop

Version 0.9.8 (2011/07/07)

previous beta stable added dropitem@dropdata support (inc. range for random) fix treespawn for blockbreak

Version 0.9.8beta (2011/07/04)

fixed leaf decay added permissiongroupexcept attempted integer data values - not working yet attempted exclusive option - not working yet added more help files and reincluded the sample file that got lost in the last few versions

Version 0.9.7 (2011/07/01)

Examples:

        SAND:
            - tool: ALL
              drop: DIAMOND
              height: "<64"
            - tool: ALL
              drop: EGG
              height: ">63"
            - tool: ALL
              toolexcept: [IRON_PICKAXE, SAPLING]
              drop: CREATURE_SPIDER
              biome: DESERT
        PLAYER@Xarqn:
            - tool: ALL
              drop: COAL
              quantity: 2
            - tool: SAPLING
              drop: DIAMOND
              quantity: 2
        PLAYERGROUP@CITIZEN:
            - tool: ALL
              drop: LOG
              quantity: 2

Yay for weird examples! The first bit basically says if you break sand below height 64 with anything you get a diamond, if above 63 you get an egg. You also get a bonus spider if you break the sand in a desert biome with anything _except_ an ironpickaxe or sapling.

Then if a player called Zarius dies by any means he'll drop two coal but if you manage to kill him with a sapling he'll drop two diamonds.

Any player within the group "Citizen" (not case sensitive) will drop two logs (in addition to specific player drops).

toolexcept: [IRON_PICKAXE,SAPLING] (excludes tools from the drop condition) permissiongroup takes a string list player & playergroup drops (PLAYER@name and PLAYERGROUP@group) reload permission for /obr "otherblocks.admin.reloadconfig" (or just use "otherblocks.admin.*") height condition (height: "<64" or height: ">100") - must have quotation marks and one of the "<>=" signs. biome condition (can also be a list) eg. biome: [DESERT, FOREST]

Version 0.9.6 (2011/06/30)

fix for quantity error (1-2 now correctly gives 1 or 2 at random) new "permissiongroup" option for drops

Version 0.9.4 (2011/06/29)

fix for clash with MobRider & other plugins using the Common library

Version 0.9.3 (2011/06/28)

small fix for debug message I left in the startup messages slimmed down startup messages from around 5 to 3.

Version 0.9.2 (2011/06/27)

allow sapling drops to specify type by name (GENERIC, BIRCH, REDWOOD)

Version 0.9.1 (2011/06/27)

messages now allow for %q as a placeholder for the quantity (eg. "You've found %q dollars.") MONEY drops can now be decimal to two places (eg. 0.96-5.52) MONEY drops can be negative (use ~ for a range - eg. -5-2) fix for dropItemNaturally with quantity zero spawning semi-infinite blocks can now specify tool for paintings (for other damage only DAMAGE_WORLD works) permissions now works for paintings and entities messages now work for paintings and entities permissions check defaults to disabled (enable at the top of the config file)

Version 0.9.0z (2011/06/24)

weather condition (RAIN, THUNDER, CLEAR or a list) economy support (via Register, supports iConomy and Boseconomy) event system (accompany the drop with lightning, treespawn or explosions) see examples file for details on usage

Version 0.8.1z (2011/06/23)

fixed bug on 0.8.0 where time was not optional (oops)

Version 0.8.0z (2011/06/23)

allow separate drops for CREATURE_PIG@SADDLED, CREATURE_PIG@UNSADDLED; CREATURE_WOLF@NEUTRAL, CREATURE_WOLF@TAMED, CREATURE_WOLF@ANGRY; CREATURE_CREEPER@UNPOWERED, CREATURE_CREEPER@POWERED. added "time" condition to limit a particular drop to only day or night

Version 0.7.8z (2011/06/22)

Merged in Celtic Minstrels changes - configurable vehicle drops, paintings and water damage (water damage doesn't work yet)

Version 0.7.7z (2011/06/22)

fixed drops from LEAVES added "message:" option - currently works with block breaks only, can take a list and will select a message at random

Version 0.7.6z (2011/06/19)

added /otherblocksreload (or /obr) command to reload config file

Version 0.7.5z

  • first version released by Zarius
  • added support for Permissions (primarily to prevent groups without build rights destroying otherblocks blocks)
  • added support to LogBlock (previously could not log blocks that had an otherblocks drop

Older changes

Older changes can be found on the old OtherBlocks Bukkit forum thread