2.8-beta6

Details

  • Filename
    OtherDrops_2.8-beta6.zip
  • Uploaded by
  • Uploaded
    Feb 26, 2013
  • Size
    340.45 KB
  • Downloads
    299
  • MD5
    5812ee82af16f4d6b37e3fd56bb6ce2e

Supported Bukkit Versions

  • CB 1.4.7-R1.0

Changelog

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#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

  • 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

* Be careful with new MOBSPAWN action.  It should be fine since I've added protection against recursion (eg. zombie: -action:mobspawn drop: zombie/2 - each zombie drops 2 and they trigger the spawn and drop another 2, etc - this shouldn't happen).

PLEASE NOTE: the change in the way that "drop: { }" works (now works as expected) may effect any drops you currently have using this.  Please test these and adjust as necessary before updating your live server.

Should work with any Bukkit from version R5 and up (currently tested on 1.4.7-R0.1).  Should also work on Tekkit & Spigot.