2.8-beta features

This page will document the new features in the 2.8-beta series. Once 2.8 is fully released this documentation will be integrated with the main docs.

Permissions & Commands

  • New Command /odd <item/mob> - Spawns item/mob with specified data (or /od drop)
    • Permission - otherdrops.admin.drop
    • Could also be useful for Command Blocks (not yet supported).
    • Example: "/odd diamondsword@!damage_all#1MySword" or "/odd skeleton@wither/2"
    • Entity name matches by shortest unique name if starting with ; (mostly for /odd command) - eg. /odd ;z = spawn zombie
  • New Feature /od id - now shows lorename (including full color codes) of item in hand
  • New Command /od id mob - View details of mob you're looking at.
    • Permission - otherdrops.admin.id

Triggers

  • Add new trigger - trigger: MOBSPAWN (will run the drop-section if this mob spawns).
    • "CUSTOM" spawns are disabled unless explicity enabled in the config - this is to avoid infinite loops (eg. zombie spawns zombie spawns zombie, etc).
  #  Replace all zombie spawns with blazes in desert biomes.
   ZOMBIE:
    -  action:  MOBSPAWN
       drop: blaze
       biome:  desert

  • HIT
  #  Make snowballs do damage to mobs and slow them.
    ANY_CREATURE:
        - trigger: HIT
          tool: PROJECTILE_SNOW_BALL
          potioneffect.victim: SLOW@100@1
          damage.victim: 2

  • ITEM_CONSUME (eating, drinking)
  #  Make carrots give you night vision when you eat them.
    PLAYER:
        - trigger: CONSUME_ITEM
          tool: CARROT
          potioneffect: NIGHT_VISION@400@1
          consumetool: 1
          drop: DENY

  • POWER_UP/POWER_DOWN (redstone power)
  #  Make lightning strike when a diamond block receives power.
    DIAMOND_BLOCK:
        - trigger: POWER_UP
          event: LIGHTNING@HARMLESS

  • PLAYER_JOIN
  #  Run a command when a specific player joins the server.
    PLAYER@Zarius:
        - trigger: PLAYER_JOIN
          command: /!*broadcast The developer of OtherDrops has joined the server!

  • PLAYER_RESPAWN
  #  Apply a potion effect when a player respawns.
    PLAYER:
        - trigger: PLAYER_RESPAWN
          potioneffect: SPEED@2000@2

  • PLAYERMOVE
  1. Warning: This trigger has not been thuroughly tested and may have performance issues if it is overused.
  #  Turn sandstone into roads that increase movement speed for users with a specific permission.
    SANDSTONE:
        - trigger: PLAYERMOVE
          potioneffect.attacker: SPEED@30@4
          permission: player.use.road

  • BLOCK_PLACE
  #  Placing Mycelium may release poisonous spores.
    ANY_BLOCK:
        - trigger: BLOCK_PLACE
          tool: MYCELIUM
          potioneffect.attacker: POISON@200@1
          chance: 20

  • BLOCKGROW
  #  Give wheat a chance to drop seeds when it grows
    CROPS:
        - trigger: BLOCKGROW
          drop: SEEDS
          chance: 25

  • PROJECTILE_HIT_BLOCK
  #  Turn snow balls into grenades.
    ANY_BLOCK:
        - trigger: PROJECTILE_HIT_BLOCK
          tool: PROJECTILE_SNOW_BALL
          event: EXPLOSION@nobreak

Parameters

  • Add: basic player-action (pset.hunger, pset.xp, pset.speed, pset.exhaustion)
  # Adds to or subtracts from the defined value.
  # Be careful using pset.speed, make sure there is always a way for players to reset their speed.
  # pset.speed is used to add or subtract from the players base speed amount.
  # pset.hunger is used to add or subtract from a players hunger amount(This cannot go above 20 or below 0)
  # pset.xp is used to add or subtract from a players experience. Useful for rewarding exp but not wanting it to drop as orbs.
  # pset.exhaustion is used to add or subtract from a players saturation. (hidden food value)
    PLAYER:
        - trigger: ITEM_CONSUME
          tool: RAW_FISH
          pset.hunger: +5

  • 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).
    PLAYER:
        - trigger: PLAYER_RESPAWN
          money: -1%
          message: &cYou lost some money when you died!

  • Add: cooldown condition eg. "cooldown: click.%p@5" gives a cooldown for the player (%p) that lasts 5 seconds (default CD is 2 seconds)
  # Cooldown is unique to the player.
  # This example makes it so a dragon that hits a player will also hit them with lightning every 10 seconds(only if it comes in contact though)
    PLAYER:
        - trigger: HIT
          tool: ENDER_DRAGON@1000h
          damage.radius: [LIGHTNING@1]
          cooldown: hit.%p@10
          message.victim: "&cThe dragon fires a bolt of lightning at you!"

  • Add sound parameter!
    • sound: <sound_name>/1v/1p (v is volume, p is pitch, both are optional & default to 1)
      • Supports all current and future official Bukkit sound values.
      • Pitch is a decimal value anywhere between 0 (lowest) to 2 (highest pitch) with 1 being normal pitch (eg. 0.2, 0.75, 1.375, etc).
      • Volume is also a decimal value however I'm not sure of the range (one might assume the same as pitch, 0 being lowest, 1 normal and 2 possibly the highest volume).
  • Add "spawnedby" condition (eg. spawnedby: [NATURAL, CUSTOM, SPAWNEGG, -OTHERDROPS])
    • Mobs spawned by a plugin are "CUSTOM" unless they support OtherDrops (eg. setMetaData("CreatureSpawnedBy", new FixedMetadataValue(plugin, "<reason>");)
  • Add "damage.attacker/victim/server/world/radius" with normal damage + FIRE & LIGHTNING, eg. damage.victim: [FIRE, LIGHTNING]
    • Negative damage accepted to Heal entities.
  • Extend potioneffect - now potioneffect.attacker/victim/server/world/radius
    • potioneffect.drop (applies to dropped LivingEntities - eg. any mob)
  • Passengers for mobs - eg. drop: cow^sheep@red^bat (cow riding a red sheep riding a bat).

Data Values

  • Note that if a drop with a colon ":" is used in a list (inside brackets, eg. drop: [wool:red]) it must be surrounded by quotes, ie. drop: ["wool:red", "wool:green"].

    Current Syntax:
'@' or ':'Initial data separator (eg. wool@red zombie:baby)
'!!'Additional data separator (eg. zombie@baby!!villager)
'h' or 'H'Health data indicator (eg. zombie@50h)
'eq:slot:item'Equipment data (always drops equipment)(eg. skeleton@eq:hands:stonesword)
'eq:slot:item%dropchance'Chance to drop equipment (eg. skeleton@eq:hands:diamondsword%1)
Slots: head, hands, chest, legs, feet
'!'Enchantment data indicator (eg. IRON_HOE@UNBREAKING#10)
'#'Enchantment level indicator (eg. DIAMOND_SWORD@KNOCKBACK#5)
'!~'Lorename data indicator (no enchantments) (eg. ironshovel@!~Super Shovel)
'~'Lorename data indicator (with enchantments) (eg. ironschestplate@!thorns#1~Thorny Shirt)
'@'Also for potion effects parameter (eg. potioneffect.victim: SLOW@600@2)
  • All mobs use same data separator for multiple data values(currently "!!")
  • Support for ":" as first data separator instead of "@"
    • This is an additional separator for user friendliness. The "@" still works the same.
  • All mobs support maxhealth and equipment
    • eg: skeleton@wither!!eq:head:diamondhelmet%0.5!!50h
    • eg: zombie@50h!!baby!!eq:hands:ironsword%0!!eq:chest:chainmailchestplate%2
      • "eq:" might be removed as requirement for assigning equipment<</color>>
  • All ageables have "baby/adult" data
    • eg. sheep@red!!baby!!sheared
  • Zombies & Zombie Pigman
    • Zombie: zombie@baby!!villager
    • PigZombie: pigzombie@baby!!villager
  • Add collar color to wolf data
    • eg: wolf@tamed,blue
  • Leather armor color support
    • eg: leatherpants@red or leather_armor@blue (includes any dye color, also try richred richblue. more colors to come later (eg. by RGB number)
  • Slime and Magmacube allows @TINY/SMALL/BIG/HUGE & numerical (for larger than huge) (note: MAGMACUBE@50 is terrifying! So big it jumps above the clouds)

Creatures

  • Any creature-related info from Data Values will be on the Creatures page as well.
  • Spawned mobs now centered on block instead of spawning in the corner.
  • Aliases:
    • PIG_ZOMBIE > ZOMBIEPIG, PIGZOMBIE
    • MAGMA_CUBE > LAVASLIME, MAGMASLIME

Enchantments

  • Enchantments level now an IntRange and works in tool: condition. (eg. tool: DIAMOND_SWORD@!DAMAGE_ALL#3-6)
  • Allow random enchantment -
    • Random enchantment, defined level: ITEM@!RANDOM#1-6
    • Random enchantment, random level: ITEM@!RANDOM
    • Specific enchantment, random level: ITEM@!DAMAGE_ALL#?
    • Multiple random enchantments: ITEM@!random!random
      • For enchanments over max level make sure enchantments_ignore_level is true in config
  • Multiple Enchantments now separated with ! instead of , (eg. drop: DIAMOND_SWORD@!DAMAGE_ALL#2!KNOCKBACK#1)

Entity List

  • SKULL_ITEM@<playername> (Case sensitive)
    • Added skull aliases - skull=skull_item, skull_block=skull (original bukkit "skull" is the block but most people will want the item)
  • Aliases:
    • STICK > STICKS
    • CARROT@DATA & POTATO@DATA > GERMINATED, VERY_SMALL, SMALL, MEDIUM, TALL, VERY_TALL, RIPE
    • DYE@BROWN > COCOA

Drops

  • drop: money@percentpenalty/10 (player will lose 10% of their money. Note: do not use a % at the end or it will think that's the chance of the drop)
  • drop: NOTHING (now cancels entity equipment drops)
  • fix action: LEAF_DECAY drop: NOTHING

Tools

  • When using POTION or any type of food along with the consumetool parameter you must include drop: DENY otherwise the last item will not be consumed.
  • Allow tools as Data ID (eg. 'tool: 276' = diamond sword)
  • EXPLOSION_TNT now properly matches EXPLOSION_PRIMED_TNT

Config

  • Add "enchantments_ignore_level" and "enchantments_use_unsafe" config options

Supported Plugins

  • Most plugins are compatible by default, this list is for plugins with specific compatibility built into OtherDrops.
    • Support for CoreProtect (when breaking blocks with a OtherDrops replaced drop)
    • Support for LogBlock/BigBrother/Hawkeye
    • Support for RegenBlock
    • Support for Heroes conditions (heroes.class & heroes.level)

Comments

Posts Quoted:
Reply
Clear All Quotes