1. We are planning scheduled maintenance on this website on Friday 5 March at 4:00 am UTC. It is estimated that this maintenance will last 15 minutes. You can view this time in your local timezone here. Thanks.
    Dismiss Notice

Advanced Abilities Creator

Aug 29, 2020
Advanced Abilities Creator
  • [​IMG][​IMG] [​IMG] [​IMG] [​IMG]

    Step 1: Create the ability(top)

    There are two ways to create an ability file:
    1. You can copy other ability file and paste it, obviously you have to change the file name, because the file name is the ability ID!
    2. Start your server and use '/abilities creator ability <ID>', example: '/abilities creator ability <ability_name>'

    Step 2: Set up your ability(top)

    Now you have to edit the file, all created files are in /AdvancedAbilities/abilities/creator/<file.yml>.
    Code (Text):
    # The ability ID is the file name!
    # Set to false if you don't want this ability enabled, if you don't want to remove your ability file you can disable it.
    enable: true

    # Set the name of ability, this is not the id (ID is the file name).
    name: 'Test ability'

    # Set the max level to this ability.
    max_level: 8

    # Item is displayed in the menu as <MATERIAL_ID>,<MATERIAL_DATA>,<MATERIAL_AMOUNT>,<ENCHANTMENT_BOOLEAN>.
    logo_item: '262,0,1,true'

    # Add here custom locations to disable RPG events.
    # Format: '<LOCATION>=<ID>,<ID_2>,<ID_3>...'
    # Locations [Special locations]:
    # - world [].
    # - worldguard_region [not_pvp, not_exploitable, not_buildable, *].
    # - faction [WarZone, SafeZone, *].
    # - towny [wilderness, WarZone, not_pvp, *].
    disabled_locations: []

    # This will be the ability logo description.
    description:
    - "&7DESCRIPTION"


    level:
      '1':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 2000

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=500
        - currency=Vault

        # This will be the ability level description.
        description:
        - "&7DESCRIPTION"
      '2':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 100

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=1000
        - currency=Vault

        # This will be the ability level description.
        description:
          - "&7DESCRIPTION"
      '3':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 4000

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=2000
        - currency=Vault

        # This will be the ability level description.
        description:
          - "&7DESCRIPTION"
      '4':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 6500

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=2500
        - currency=Vault

        # This will be the ability level description.
        description:
          - "&7DESCRIPTION"
      '5':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 9000

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=4000
        - currency=Vault

        # This will be the ability level description.
        description:
        - "&7DESCRIPTION"
      '6':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 12000

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=6500
        - currency=Vault

        # This will be the ability level description.
        description:
        - "&7DESCRIPTION"
      '7':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 15500

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=8800
        - currency=Vault

        # This will be the ability level description.
        description:
        - "&7DESCRIPTION"
      '8':
        # This depends on RPG system, players need to have this exp to get this level.
        xp_needed: 18500

        # You can customize this purchase adding conditions.
        # Conditions:
        # - permission: Set a permission to buy this level, example: 'permission=example.example'.
        # - price: Set a price to buy this level, example: 'price=1000'
        # - currency: Set a currency type to the price, default is 'vault', all: [none, vault, playerpoints] also you can hook your money plugin using the API.
        # - by_items: Add items like price, example: 'by_items=5,0,1; 276,0,1,ENCHANTMENTS=KNOCKBACK:1-SHARPNESS:1'. Use ';' to add another item.
        # - by_level: Set a player xp level like price, example: 'by_level=50'.
        buying_options:
        - price=10000
        - currency=Vault

        # This will be the ability level description.
        description:
        - "
    &7DESCRIPTION"

    Step 3: Create your custom CODE! [CREATOR](top)

    This is the most important step, now you have to configure how your ability works!

    First of all, these commands will help you creating your ability: '/abilities creator events, options, conditions, effects, info', using these commands you can see the available types. Using 'info' command you can see server values and placeholders, for example, particles, sounds, potion names, etc. (Each version has different name types!).


    Values (basic):

    BOOLEAN = true/false | example: 'CHEST=true,true,#,...'
    TEXT= text | example: 'DROP_ITEM=WOOD,#,#,NAME'
    NUMBER = 0-9 | example: 'DAMAGE=2.5'


    Target and modifiers:

    • TARGET: Use this modifier to set the main target in the line, conditions, effects and options will use this target location, entity, more...
    • LOCATION: Use this modifier to modify the current target location, arguments: "LOCATION=<LEFT_RIGHT>,<BACK_FORWARD>,<UP_DOWN>,<ANGLE>".
    • PROJECTILE_TRAIL: This will add particles in your projectile effects as example arrow, arguments: "PROJECTILE_TRAIL=<PARTICLE_TYPE>,<TICKS>".
    • CHANCE_TO_RUN: Use this modifier to add chance to run an condition, effect or option, arguments: "CHANCE_TO_RUN=<NUMBER>".
    • RANDOM: This modifier will create a list with all effects, conditions, options with similar random ID in the line and will choose one randomly, arguments: "RANDOM=<ID>".
    • CONDITION: This modifier is used when you want to run a condition, effect or option if the condition is true, arguments: "CONDITION=<CONDITION_FROM_LIST=CONDITION_VALUES>".
    • CONDITION_OR: This is java language is "||", you can use this when you want to get a 'true' value in many conditions, example checking blocks or player hand items, arguments: "CONDITION_OR=<ID>".


    Variables/placeholders and argument modifier:

    1. !INVERSE: Use this modifier when you want to get the opposite value (true = false, false = true), in java language (!boolean), example: 'IS_LIVING_ENTITY' if the entity is a living entity and you use this modifier then the value will be false instead of true, "TARGET=ENTITY:IS_LIVING_ENTITY=!INVERSE".
    2. !IGNORE_CHECK: Use this modifier if you want to skip value verification, example:"GREATER_THAN=1,{PLAYER_UNIQUE_STORAGE_TEST}!IGNORE_CHECK".
    3. !INSTANT_EVENT_CALL: Use this modifier when you want to call effect, conditions, option instantly instead of wait current events ends.
    4. !PLACEHOLDER_API: for PlaceholderAPI placeholders example: "ACTION_BAR=&aHello {player_name}!PLACEHOLDER_API".


    Custom placeholders:

    Code (Text):
    {CHAT_MESSAGE}, {BOW_POWER}, {EVENT_DAMAGE}, {SELF_NAME}, {SELF_HEALTH}, {SELF_MAX_HEALTH}, {COOLDOWN}, {DISTANCE}, {TARGET_NAME}, {TARGET_IS_ON_GROUND}, {TARGET_ENTITY_TYPE}, {TARGET_HEALTH}, {TARGET_MAX_HEALTH}, {BLOCK_TYPE}, {BLOCK_DATA}, {DROP_TYPE}, {DROP_DATA}, {BLOCK_DROP_SIZE}, {MAIN_HAND_ITEM_DURABILITY}, {MAIN_HAND_ITEM_MATERIAL}, {MAIN_HAND_ITEM_AMOUNT}, {MAIN_HAND_ITEM_DATA}, {OFF_HAND_ITEM_DURABILITY}, {OFF_HAND_ITEM_MATERIAL}, {OFF_HAND_ITEM_AMOUNT}, {OFF_HAND_ITEM_DATA}, {TARGET_MAIN_HAND_ITEM_DURABILITY}, {TARGET_MAIN_HAND_ITEM_MATERIAL}, {TARGET_MAIN_HAND_ITEM_AMOUNT}, {TARGET_MAIN_HAND_ITEM_DATA}, {TARGET_OFF_HAND_ITEM_DURABILITY}, {TARGET_OFF_HAND_ITEM_MATERIAL}, {TARGET_OFF_HAND_ITEM_AMOUNT}, {TARGET_OFF_HAND_ITEM_DATA}, {SECONDARY_ITEM_DURABILITY}, {SECONDARY_ITEM_MATERIAL}, {SECONDARY_ITEM_AMOUNT}, {SECONDARY_ITEM_DATA}, {PLAYER_WORLD_NAME}, {PLAYER_COORD_X}, {PLAYER_COORD_Y}, {PLAYER_COORD_Z}, {PLAYER_COORD_YAW}, {PLAYER_COORD_PITCH}, {UNIQUE_NUMBER}, {STATE}, {ABILITY_LEVEL;<ABILITY_ID>}, {RANDOM_NUMBER;<MAX_NUMBER>}, {RANDOM_NUMBER;<MIN_NUMBER>_<MAX_NUMBER>}, {STORAGE_<ID>}, {PLAYER_STORAGE_<ID>}, {PLAYER_UNIQUE_STORAGE_<ID>}, {BAR_CREATOR;SYMBOL_TEXT#SIZE_NUMBER#COLOR_POSITIVE#COLOR_NEGATIVE#CURRENT_NUMBER#MAX_NUMBER#INVERSE_BOOLEAN}, {SYMBOL_FULL_BLOCK}, {SYMBOL_HEART}, {SYMBOL_TICK}, {SYMBOL_CROSS}, {SYMBOL_LEFT}, {SYMBOL_RIGHT}, {SYMBOL_UP}, {SYMBOL_DOWN}, {SYMBOL_STAR}, {SYMBOL_CIRCLE}, {SYMBOL_WARN}, {SYMBOL_SWORDS}, {SYMBOL_CROWN}, {SYMBOL_BLACK_STAR}, {SYMBOL_BALL_ONE}, {SYMBOL_BALL_TWO}, {SYMBOL_BALL_THREE}, {SYMBOL_BALL_FOUR}, {SYMBOL_BALL_FIVE}, {SYMBOL_BALL_SIX}, {SYMBOL_BALL_SEVEN}, {SYMBOL_BALL_EIGHT}, {SYMBOL_BALL_NINE}, {SYMBOL_BALL_TEN}, {SYMBOL_SMILE}, {SYMBOL_FROWNING_FACE}


    Arithmetic Operators symbols:


    Code (Text):
    Addition: 2 + 2
    Subtraction: 2 - 2
    Multiplication: 2 * 2
    Division: 2 / 2
    Exponentiation: 2 ^ 2
    Unary Minus, Plus(Sign Operators): +2 - (-2)
    Modulo: 2 % 2
    How to use:
    Code (Text):
    CHANCE=({SELF_HEALTH}/5)*2

    Levels:

    Always in all lines you have to set 'LEVEL=X', using this you can customize what your ability does in each level, example:
    Code (Text):
    - 'LEVEL=1:CHANCE=3'
    - 'LEVEL=2:CHANCE=4'
    - 'LEVEL=3:CHANCE=5'
    - 'LEVEL=4:CHANCE=7'
    - 'LEVEL=5:CHANCE=9'
    - 'LEVEL=6:CHANCE=11'
    - 'LEVEL=7:CHANCE=13'
    - 'LEVEL=8:CHANCE=20'

    Events:

    Using '/abilities creator events' command you can see all available events in your server version.

    Set the event you want to use, for example:
    Code (Text):
    event: DamageBySelfEvent
    Also events can have secondary_events, (example: ShootBowEvent has ArrowHitEvent event).
    Code (Text):
    creator:
      events:
        '1':
          event: ShootBowEvent
          conditions: []
          effects: []
          options: []
          secondary_events:
            '1':
              event: ArrowHitEvent
              conditions: []
              effects: []


    Now you know how this system works! It only remains to create your own event!

    Here you can see the events of 'bubble_arrow' ability:
    Code (Text):
    # Create custom ability events here!
    creator:
      # Add here main events you will want to use.
      events:
        '1':
          # Set the event name.
          event: ShootBowEvent
          # Add here conditions.
          conditions:
            - 'LEVEL=1:CHANCE=5'
            - 'LEVEL=2:CHANCE=10'
            - 'LEVEL=3:CHANCE=15'
            - 'LEVEL=4:CHANCE=20'
            - 'LEVEL=5:CHANCE=25'
            - 'LEVEL=6:CHANCE=30'
            - 'LEVEL=7:CHANCE=35'
            - 'LEVEL=8:CHANCE=40'
          # Add here effects.
          effects: []
          # Add here options.
          options:
            - 'LEVEL=ALL:ACTION_BAR_MESSAGE:PARTICLES=FLAME'
          # Add here secondary events you want to use, secondary events will be called if the main event was called.
          secondary_events:
            '1':
              # Set the secondary event.
              event: ArrowHitEvent
              # Add here conditions.
              conditions: []
              # Add here effects.
              effects:
                - 'LEVEL=1:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,20,2.1'
                - 'LEVEL=2:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,26,2.5'
                - 'LEVEL=3:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,32,2.7'
                - 'LEVEL=4:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,38,3'
                - 'LEVEL=5:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,44,3.2'
                - 'LEVEL=6:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,50,3.4'
                - 'LEVEL=7:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,56,3.8'
                - 'LEVEL=8:TARGET=PROJECTILE:RADIUS_POTION_EFFECT=LEVITATION,0,60,4'
              # Add here options.
              options:
                - 'LEVEL=1:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,5,3'
                - 'LEVEL=2:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,6.5,3'
                - 'LEVEL=3:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,8,3'
                - 'LEVEL=4:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,10,3'
                - 'LEVEL=5:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,12,3'
                - 'LEVEL=6:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,14,3'
                - 'LEVEL=7:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,16,3'
                - 'LEVEL=8:TARGET=PROJECTILE:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,LAVA,18,3'
            '2':
              # Set the secondary event.
              event: EntityRadiusPotionEffectEvent
              # Add here conditions.
              conditions: []
              # Add here effects.
              effects:
                - 'TARGET=ENTITY:LEVEL=ALL:DAMAGE=0'
              # Add here options.
              options:
                - 'TARGET=ENTITY:LEVEL=ALL:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,DRIP_LAVA,15,1'
                - 'TARGET=ENTITY:LEVEL=ALL:LOCATION=0,0,1,0:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,DRIP_LAVA,15,1'
                - 'TARGET=ENTITY:LEVEL=ALL:LOCATION=0,0,2,0:SOUND=ENTITY_BLAZE_HURT,0.7,0.3:SPECIAL_PARTICLES=CIRCLE,DRIP_LAVA,15,1'



    Others:

    Cooldown(top)


    To create a cooldown, first you need to add 'START_COOLDOWN=<SECONDS_NUMBER>' in the event you want to start cooldown, normally in main event.
    Now you need to add COOLDOWN condition in your main event, ability will not be executed if the player is in cooldown.
    Example with 5 seconds.

    Code (Text):
    creator:
      events:
        '1':
          event: PlayerRightClick
          conditions:
          - 'COOLDOWN'
          effects: []
          options:
          - 'START_COOLDOWN=5'
          # Debug
          - 'PLAYER_CHAT=&6EXAMPLE COOLDOWN'
          secondary_events: []


    Create a bar(top)



    Use this placeholder in a TEXT value to create a bar:
    Code (Text):
    {BAR_CREATOR;SYMBOL_TEXT#SIZE_NUMBER#COLOR_POSITIVE#COLOR_NEGATIVE#CURRENT_NUMBER#MAX_NUMBER#INVERSE_BOOLEAN}
    Example 1:
    Code (Text):
    ACTION_BAR=&6&lBar example 1 {BAR_CREATOR;{SYMBOL_FULL_BLOCK}#20#GREEN#RED#10#20#false}
    [​IMG]

    Example 2:
    Using {COOLDOWN} placeholder:
    55 = Cooldown time number added in START_COOLDOWN option (not current cooldown time).
    true (inverse) = Bar in inverse mode, when COOLDOWN time decrease, bar will increase.
    When bar is full = COOLDOWN ends (= 0).
    Code (Text):
    ACTION_BAR=&6&lBar example 2 {BAR_CREATOR;{SYMBOL_FULL_BLOCK}#20#BLUE#RED#{COOLDOWN}#55#true}
    [​IMG]


    Projectile direction(top)



    To modify projectile direction, you have to use LOCATION modifier (LOCATION=<LEFT_RIGHT>,<BACK_FORWARD>,<UP_DOWN>,<ANGLE>).
    Example:
    40 = angle.
    Code (Text):
    LOCATION=0,0,0,40
    Here you can see a video of this:



    Get nearby entities(top)



    To get nearby entities within X radius you need fire/call RadiusEntityEvent using 'START_RADIUS_ENTITY_EVENT=<RADIUS_NUMBER>'.
    Example we want to slow all closed entities (radius = 5 blocks):
    3 = Effect level.
    40 = Ticks (1 second = 20 ticks). (2 seconds)
    Code (Text):
    creator:
      events:
        '1':
          event: PlayerRightClick
          conditions: []
          effects: []
          options:
          - 'START_RADIUS_ENTITY_EVENT=5'
          secondary_events:
            '1':
              event: RadiusEntityEvent
              conditions: []
              effects:
              # If you don't use TARGET=ENTITY you are adding this effect to SELF = Player has cast the ability.
              - 'TARGET=ENTITY:POTION_EFFECT=SLOW,3,40'
              options: []
    All effects are available in all events, I mean you can use example THUNDER instead of POTION_EFFECT.


    Storage(top)


    There are 3 storage types:
    1. Ability storage {STORAGE_<ID>}.
    2. Player storage {PLAYER_STORAGE_<ID>}.
    3. Unique player storage {PLAYER_UNIQUE_STORAGE_<ID>}.
    Storage is used to save information.
    (Remove and set in "options")
    Example 1 (UNIQUE STORAGE) (explosive_arrow ability):
    Modify a sound

    First set default value for the storage.
    Code (Text):
    PLAYER_UNIQUE_STORAGE_SET=SOUND,0
    Next modify storage SOUND value in RepeatingTaskEvent (this task is executed each 0.2 seconds).
    !IGNORE_CHECK is used because {PLAYER_UNIQUE_STORAGE_SOUND} is not a number yet, you can't add a number to string.
    Code (Text):
    PLAYER_UNIQUE_STORAGE_SET=SOUND,{PLAYER_UNIQUE_STORAGE_SOUND}+0.1!IGNORE_CHECK
    Now execute sound:
    true = global sound.
    UI_BUTTON_CLICK = sound.
    0.9 = volume.
    {PLAYER_UNIQUE_STORAGE_SOUND} = current sound value.
    Code (Text):
    SOUND=true,UI_BUTTON_CLICK,0.9,{PLAYER_UNIQUE_STORAGE_SOUND}!IGNORE_CHECK
    When you use unique storage you have to remove unique storage created using 'REMOVE_PLAYER_UNIQUE_STORAGE' (this in the latest line of your ability).

    Example 2
    (STORAGE):
    Executing a custom message ("EXAMPLE") after 4 ability executions

    Now set default value if storage still not exists:
    Code (Text):
    'CONDITION=PLAYER_STORAGE_KEY_EXIST=EXAMPLE!INVERSE:PLAYER_STORAGE_SET=EXAMPLE,0'
    Add 1 to example value.
    Code (Text):
    PLAYER_STORAGE_SET=EXAMPLE,{PLAYER_STORAGE_EXAMPLE}+1!IGNORE_CHECK
    Now check if EXAMPLE value is 5:
    Code (Text):
    CONDITION=EQUALS={PLAYER_STORAGE_EXAMPLE},5:PLAYER_CHAT=EXAMPLE
    And remove key, to reset counter.
    Code (Text):
    CONDITION=EQUALS={PLAYER_STORAGE_EXAMPLE},5:REMOVE_PLAYER_STORAGE_KEY=EXAMPLE
    Also this can be used with STORAGE instead of PLAYER_STORAGE.


    Auto update event(top)



    AutoUpdateEvent is used to add a "constant" thing as potion effect, max heal, etc.
    This event is called when player joins, leaves, and every 5 seconds.
    Example:
    Code (Text):
    creator:
      events:
        '1':
          event: AutoUpdateEvent
          conditions: []
          effects:
          - 'MAX_HEAL=35'
          options: []
          secondary_events: []
    [​IMG]


    CommandEvent event(top)



    This event is called using /abilities creator ability <ability_id>.
    Code (Text):
    creator:
      events:
        '1':
          event: CommandEvent
          conditions: []
          effects:
          - 'POTION_EFFECT=SPEED,3,40'
          options: []
          secondary_events: []

    Item creation arguments (Name, description, enchantments)(top)



    Basic (needed):
    <MATERIAL_TEXT#DATA_NUMBER#AMOUNT_NUMBER>

    Name (optional):
    Add "NAME;<NAME>" after adding '#' symbol.

    Lore/Description (optional):
    Add "LORE;<DESCRIPTION>" after adding '#' symbol, add /n to add new line.

    Enchantments (optional):
    Add "ENCHANTMENTS;<ENCHANTMENT_TYPE>!<ENCHANTMENT_LEVEL>" after adding '#' symbol, add new enchantment adding '&'

    Example:
    Code (Text):
    - 'ADD_ITEM_TO_INVENTORY=DIAMOND_SWORD#0#1#ENCHANTMENTS;DAMAGE_ALL!1&KNOCKBACK!2#NAME;&a&lTEST#LORE;&e&lTHIS IS/n&aA TEST'



    Events, conditions, effects and options:

    Code (Text):

    Events (38):
    - AutoUpdateEvent TARGETS: {SELF} STATE: {NORMAL, LOAD, UNLOAD}
    - BlockBreakEvent TARGETS: {SELF, BLOCK}
    - CommandEvent TARGETS: {SELF}
    - DamageByEntityEvent TARGETS: {SELF, ENTITY}
    - DamageBySelfEvent TARGETS: {SELF, ENTITY}
    - DamageEvent TARGETS: {SELF} STATE: {CONTACT, ENTITY_ATTACK, PROJECTILE, SUFFOCATION, FALL,FIRE, FIRE_TICK,MELTING, LAVA,DROWNING, BLOCK_EXPLOSION, ENTITY_EXPLOSION, VOID, LIGHTNING, SUICIDE, STARVATION, POISON, MAGIC, WITHER, FALLING_BLOCK,THORNS, DRAGON_BREATH, CUSTOM, FLY_INTO_WALL}
    - KillEntityEvent TARGETS: {SELF, ENTITY}
    - PlayerArmorEquipEvent TARGETS: {SELF} STATE: {SHIFT_CLICK, DRAG, PICK_DROP, HOTBAR, HOTBAR_SWAP, DISPENSER, BROKE, DEATH, EQUIPPED, UNEQUIPPED}
    - PlayerBedEvent TARGETS: {SELF, BLOCK} STATE: {ENTER, LEAVE}
    - PlayerBucketEvent TARGETS: {SELF} STATE: {FILL, EMPTY}
    - PlayerChangedWorldEvent TARGETS: {SELF}
    - PlayerChatEvent TARGETS: {SELF}
    - PlayerDeathEvent TARGETS: {SELF, ENTITY}
    - PlayerDropItemEvent TARGETS: {SELF}
    - PlayerExpChangeEvent TARGETS: {SELF}
    - PlayerFishEvent TARGETS: {SELF, ENTITY} STATE: {FISHING, CAUGHT_FISH, CAUGHT_ENTITY, IN_GROUND, FAILED_ATTEMPT, BITE}
    - PlayerFoodLevelChangeEvent TARGETS: {SELF}
    - PlayerItemBreakEvent TARGETS: {SELF}
    - PlayerItemConsumeEvent TARGETS: {SELF}
    - PlayerItemDurabilityEvent TARGETS: {SELF}
    - PlayerJumpEvent TARGETS: {SELF}
    - PlayerLaunchProjectileEvent TARGETS: {SELF, PROJECTILE}
    - PlayerLeftClick TARGETS: {SELF, BLOCK} STATE: {LEFT_CLICK_AIR, LEFT_CLICK_BLOCK}
    - PlayerLevelChangeEvent TARGETS: {SELF}
    - PlayerLoadedEvent TARGETS: {SELF}
    - PlayerPickupArrowEvent TARGETS: {SELF, ENTITY}
    - PlayerPotionSplashEvent TARGETS: {SELF, POTION}
    - PlayerRegainHealthEvent TARGETS: {SELF} STATE: {REGEN, SATIATED, EATING, ENDER_CRYSTAL, MAGIC, MAGIC_REGEN, WITHER_SPAWN, WITHER, CUSTOM}
    - PlayerRespawnEvent TARGETS: {SELF}
    - PlayerRightClick TARGETS: {SELF, BLOCK, ENTITY} STATE: {RIGHT_CLICK_AIR, RIGHT_CLICK_BLOCK}
    - PlayerRiptideEvent TARGETS: {SELF}
    - PlayerRunningEvent TARGETS: {SELF}
    - PlayerShearEntityEvent TARGETS: {SELF}
    - PlayerSneakEvent TARGETS: {SELF}
    - PlayerSwapHandItemsEvent TARGETS: {SELF}
    - PlayerTeleportEvent TARGETS: {SELF}
    - PlayerUnloadedEvent TARGETS: {SELF}
    - ShootBowEvent TARGETS: {SELF}
    Secondary Events (21):
    - CooldownTimeFinishEvent TARGETS: {SELF} NEED: {'START_COOLDOWN' option}
    - DelayedTaskEvent TARGETS {ALL_EVENT_TARGETS} NEED: {'START_DELAYED_TASK' option}
    - EntityRadiusDamageEvent TARGETS: {SELF, ENTITY}
    - EntityRadiusHealEvent TARGETS: {SELF, ENTITY} NEED: {'RADIUS_HEAL' effect}
    - EntityRadiusPotionEffectEvent TARGETS: {SELF, ENTITY} NEED: {'RADIUS_POTION_EFFECT' effect}
    - EntityRadiusPushEvent TARGETS: {SELF, ENTITY}
    - EntityTargetEvent TARGETS: {SELF, ENTITY} STATE: {TARGET_DIED, CLOSEST_PLAYER, TARGET_ATTACKED_ENTITY, PIG_ZOMBIE_TARGET, FORGOT_TARGET, TARGET_ATTACKED_OWNER, OWNER_ATTACKED_TARGET, RANDOM_TARGET, DEFEND_VILLAGE, TARGET_ATTACKED_NEARBY_ENTITY, REINFORCEMENT_TARGET, COLLISION, CUSTOM, CLOSEST_ENTITY, UNKNOWN} NEED: {'SPAWN_ENTITY' effect}
    - ExplosionEffectBlockEvent TARGETS: {SELF, BLOCK} NEED: {'EXPLOSION' effect, 'ANIMATED_EXPLOSION' effect}
    - FireballExplodeEvent TARGETS: {SELF, PROJECTILE} NEED: {'FIREBALL' effect}
    - LoopEvent TARGETS {ALL_EVENT_TARGETS} NEED: {'START_LOOP' option}
    - OpenChestEvent TARGETS: {SELF, BLOCK} NEED: {'CHEST' effect}
    - ParticlesLaserInteractEvent TARGETS: {SELF, BLOCK, ENTITY} NEED: {'PARTICLES_LASER' effect}
    - PickupItemEvent TARGETS: {SELF, ITEM} NEED: {'DROP_ITEM' effect}
    - ProjectileEffectLaunchEvent TARGETS: {SELF, PROJECTILE} NEED: {'ARROW' effect, 'FIREBALL' effect, 'TNT_THROW' effect}
    - ProjectileHitEntityEvent TARGETS: {SELF, PROJECTILE, ENTITY} NEED: {'ShootBowEvent' event | 'ARROW' effect}
    - ProjectileHitEvent TARGETS: {SELF, PROJECTILE} NEED: {'ShootBowEvent' event | 'ARROW' effect}
    - RadiusEntityEvent TARGETS: {SELF, ENTITY} NEED: {'START_RADIUS_ENTITY_EVENT' option}
    - RepeatingTaskEvent TARGETS {ALL_EVENT_TARGETS} NEED: {'START_REPEATING_TASK' option}
    - RpgLevelUpEvent TARGETS: {SELF}
    - SpawnEntityEvent TARGETS: {SELF, ENTITY} NEED: {'SPAWN_ENTITY' effect}
    - TntExplodeEvent TARGETS: {SELF, BLOCK} NEED: {'TNT_THROW' effect}


    Effects (41):
    - ADD_ITEM_TO_INVENTORY=<MATERIAL_TEXT#DATA_NUMBER#AMOUNT_NUMBER>
    - ADD_ITEM_TO_INVENTORY_SLOT=<SLOT_NUMBER>,<MATERIAL_TEXT#DATA_NUMBER#AMOUNT_NUMBER>
    - ANIMATED_EXPLOSION=<YIELD_NUMBER>,<REMOVE_FALL_BOOLEAN>
    - ARROW=<POWER_NUMBER>,<CRITICAL_BOOLEAN>,<KNOCKBACK_STRENGTH_NUMBER>
    - CHEST=<RANDOM_SLOT_BOOLEAN>,<REGENERATE_BLOCK_BOOLEAN>,<DURATION_SECONDS_NUMBER>,<CHANCE_NUMBER#MATERIAL_TEXT#DATA_NUMBER#AMOUNT_NUMBER;CHANCE_NUMBER#MATERIAL_2_NUMBER#DATA_NUMBER#AMOUNT_NUMBER>
    - DAMAGE=<DAMAGE_NUMBER>
    - DROP_ITEM=<MATERIAL_TEXT>,<DATA_NUMBER>,<AMOUNT_NUMBER>,<NAME_TEXT>
    - DROP_ITEM_FROM_INVENTORY=<SLOT_NUMBER>,<ITEM_NAME_TEXT>
    - DROP_ITEM_FROM_INVENTORY_ITEM=<MATERIAL_TEXT>,<DATA_NUMBER>,<MIN_AMOUNT_NUMBER>,<ITEM_NAME_TEXT>
    - ENCHANTMENT_HAND_ITEM=<ENCHANTMENT_TYPE>,<LEVEL_NUMBER>,<TIME_NUMBER>
    - EQUIP_ENTITY=<SLOT_NUMBER>,<MATERIAL_TEXT#DATA_NUMBER#AMOUNT_NUMBER>
    - EVENT_DAMAGE=<HEARTS_NUMBER>
    - EXPERIENCE_ORB=<EXP_NUMBER>
    - EXPLOSION=<YIELD_NUMBER>
    - EXPLOSION_REGENERATE=<YIELD_NUMBER>,<DELAY_SECONDS_NUMBER>,<FALLING_BLOCKS_BOOLEAN>
    - FIREBALL=<INCENDIARY_BOOLEAN>,<YIELD_NUMBER>
    - FIRE_ENTITY=<TICKS_NUMBER>
    - FOOD=<LEVEL_NUMBER>
    - HEAL=<HEARTS_NUMBER>
    - INVENTORY_REMOVE_ITEM=<MATERIAL_TEXT>,<DATA_NUMBER>,<AMOUNT_NUMBER>
    - ITEM_DURABILITY=<PERCENTAGE_NUMBER>
    - MAX_HEAL=<HEARTS_NUMBER>
    - NOT_TARGET_PLAYER
    - PARTICLES_LASER=<PARTICLES_TYPE_TEXT>,<RANGE_NUMBER>,<DAMAGE_NUMBER>
    - POTION_EFFECT=<NAME_TEXT>,<LEVEL_NUMBER>,<TIME_TICKS_NUMBER>
    - PROJECTILE=<PROJECTILE_TYPE_TEXT>,<POWER_NUMBER>
    - PUSH=<FORCE_NUMBER>,<Y_FORCE_NUMBER>
    - RADIUS_DAMAGE=<DAMAGE_NUMBER>,<RADIUS_NUMBER>
    - RADIUS_HEAL=<HEARTS_NUMBER>,<RADIUS_NUMBER>
    - RADIUS_POTION_EFFECT=<NAME_TEXT>,<LEVEL_NUMBER>,<TIME_TICKS_NUMBER>,<RADIUS_NUMBER>
    - RADIUS_PUSH=<FORCE_NUMBER>,<Y_FORCE_NUMBER>,<RADIUS_NUMBER>
    - REDUCE_DAMAGE=<DAMAGE_NUMBER>
    - REMOVE_NOT_TARGET_PLAYER
    - SET_BLOCK=<MATERIAL_TEXT>
    - SET_BLOCK_REGENERATION=<MATERIAL_TEXT>,<SECONDS_NUMBER>,<CAN_BREAK_BOOLEAN>
    - SET_COLLIDABLE=<COLLIDABLE_BOOLEAN>
    - SPAWN_ENTITY=<ENTITY_TYPE_TEXT>,<TARGET_CASTER_BOOLEAN>
    - TELEPORTATION
    - THUNDER
    - TNT_THROW=<POWER_NUMBER>
    - VEHICLE=<ENTITY_TYPE>,<TIME_TICKS_NUMBER>


    Conditions (51):
    - API_EVENT_CANCELLED=<INFORMATION_TEXT>
    - BLOCKING
    - BLOCK_PLACED_BY_PLAYER
    - BLOCK_TYPE=<MATERIAL_TEXT>
    - BOW_POWER=<POWER_NUMBER>
    - CAUSE=<DAMAGE_CAUSE_TEXT>
    - CHANCE=<CHANCE_NUMBER>
    - CHECK_LOCATION
    - CONTAINS=<OBJECT_1_TEXT>,<OBJECT_2_TEXT>
    - CONTAINS_IGNORE_CASE=<OBJECT_1_TEXT>,<OBJECT_2_TEXT>
    - COOLDOWN
    - DAMAGE=<DAMAGE_NUMBER>
    - DISTANCE=<DISTANCE_NUMBER>
    - ENDS_WITH=<OBJECT_1_TEXT>,<OBJECT_2_TEXT>
    - ENTITY_TYPE=<ENTITY_TYPE_TEXT>
    - EQUALS=<OBJECT_1>,<OBJECT_2>
    - GAMEMODE=<GAMEMODE_TYPE_TEXT>
    - GREATER_THAN=<NUMBER>,<NUMBER>
    - HAS_ITEM_EQUIPPED=<SLOT_NUMBER>,<MATERIAL_TEXT#DATA_NUMBER#AMOUNT_NUMBER>,<IGNORE_ENCHANTMENTS_BOOLEAN>
    - HAS_NAME=<NAME_TEXT>
    - HAS_PERMISSION=<PERMISSION_TEXT>
    - HAS_POTION_EFFECT=<NAME_TEXT>
    - HEARTS=<HEARTS_NUMBER>
    - INVENTORY_CONTAINS_AT_LEAST=<MATERIAL_TEXT>,<DATA_NUMBER>,<AT_LEAST_NUMBER>
    - INVENTORY_HAS_ITEM=<MATERIAL_TEXT>,<DATA_NUMBER>,<AMOUNT_NUMBER>,<NAME_TEXT>
    - IS_COLLIDABLE
    - IS_DEAD
    - IS_EVENT_CANCELLABLE
    - IS_HOSTILE
    - IS_IN_AREA=<POINT1_X_NUMBER>,<POINT1_Y_NUMBER>,<POINT1_Z_NUMBER>,<POINT2_X_NUMBER>,<POINT2_Y_NUMBER>,<POINT2_Z_NUMBER>
    - IS_LIVING_ENTITY
    - IS_ON_GROUND
    - IS_RPG_REWARD_EMPTY
    - IS_STATE=<STATE_TEXT>
    - IS_WORLD=<WORLD_NAME_TEXT>
    - IS_WORLDGUARD_REGION=<REGION_ID_TEXT>
    - ITEM_HAND_HAS_ENCHANTMENT=<ENCHANTMENT_NAME_TEXT>
    - ITEM_HAND_HAS_ENCHANTMENT_LEVEL=<ENCHANTMENT_NAME_TEXT>,<LEVEL_NUMBER>
    - ITEM_IN_HAND=<MATERIAL_TEXT>
    - ITEM_IN_HAND_NAME=<NAME_TEXT>
    - ON_BLOCK=<MATERIAL_TEXT>
    - PLAYER_STORAGE_EXIST
    - PLAYER_STORAGE_KEY_EXIST=<STORAGE_KEY_TEXT>
    - PLAYER_UNIQUE_STORAGE_EXIST
    - PLAYER_UNIQUE_STORAGE_KEY_EXIST=<STORAGE_KEY_TEXT>
    - SNEAKING
    - STARTS_WITH=<OBJECT_1_TEXT>,<OBJECT_2_TEXT>
    - STORAGE_KEY_EXIST=<STORAGE_KEY_TEXT>
    - TARGET_BLOCK=<DISTANCE_NUMBER>,<MATERIAL_TEXT>
    - TARGET_EXIST=<TARGET_NAME_TEXT>
    - TASK_ID=<ID_TEXT>


    Options (34):
    - ACTION_BAR=<MESSAGE_TEXT>
    - ACTION_BAR_MESSAGE
    - ADD_EXP=<DISPLAY_BOOLEAN>,<ABILITY_ID_TEXT:EXP_NUMBER#ABILITY_ID2_TEXT>:<EXP_NUMBER2>
    - ADD_MANA=<MANA_NUMBER>
    - ADD_RPG_REWARD=<ABILITY_ID_TEXT>,<EXP_NUMBER>
    - CANCEL_EVENT
    - CANCEL_TASK=<ID_TEXT>
    - EFFECT=<BUKKIT_EFFECT_TYPE_TEXT>,<DATA_TEXT>
    - EXECUTE_COMMAND=<FROM_CONSOLE_BOOLEAN>,<COMMAND_TEXT>
    - GLOBAL_HOLOGRAM=<LINE_1#LINE_2#LINE_3#LINES_TEXT>,<TIME_REMOVE_NUMBER>
    - INDIVIDUAL_HOLOGRAM=<LINE_1#LINE_2#LINE_3#LINES_TEXT>,<TIME_REMOVE_NUMBER>
    - PARTICLES=<PARTICLES_TYPE_TEXT>
    - PLAYER_CHAT=<TEXT>
    - PLAYER_STORAGE_SET=<ID_TEXT>,<VALUE>
    - PLAYER_UNIQUE_STORAGE_SET=<ID_TEXT>,<VALUE>
    - REMOVE_ENTITY
    - REMOVE_PLAYER_STORAGE
    - REMOVE_PLAYER_STORAGE_KEY=<STORAGE_KEY_TEXT>
    - REMOVE_PLAYER_UNIQUE_STORAGE
    - REMOVE_PLAYER_UNIQUE_STORAGE_KEY=<STORAGE_KEY_TEXT>
    - REMOVE_STORAGE_KEY=<STORAGE_KEY_TEXT>
    - RPG_REWARD=<DISPLAY_BOOLEAN>
    - SET_CUSTOM_NAME=<VISIBLE_BOOLEAN>,<NAME_TEXT>
    - SET_RPG_REWARD=<ABILITY_ID_TEXT>,<EXP_NUMBER>
    - SOUND=<GLOBAL_BOOLEAN>,<SOUND_NAME_TEXT>,<VOLUME_NUMBER>,<PITCH_NUMBER>
    - SPECIAL_PARTICLES=<SPECIAL_PARTICLES_TYPE_TEXT>,<PARTICLES_TYPE_TEXT>,<AMOUNT_NUMBER>,<RADIUS_NUMBER>
    - START_COOLDOWN=<SECONDS_NUMBER>
    - START_DELAYED_TASK=<ID_TEXT>,<SYNC_BOOLEAN>,<DELAY_NUMBER>
    - START_LOOP=<REPEAT_TIME_NUMBER>
    - START_RADIUS_ENTITY_EVENT=<RADIUS_NUMBER>
    - START_REPEATING_TASK=<ID_TEXT>,<SYNC_BOOLEAN>,<DELAY_NUMBER>,<REPEATING_SECONDS_NUMBER>
    - STORAGE_SET=<ID_TEXT>,<VALUE>
    - SUBTRACT_MANA=<MANA_NUMBER>
    - TITLE=<TITLE_TEXT>,<SUB_TITLE_TEXT>
    - ON_BLOCK=<MATERIAL_TEXT>
    - PLAYER_STORAGE_EXIST
    - PLAYER_STORAGE_KEY_EXIST=<STORAGE_KEY_TEXT>
    - PLAYER_UNIQUE_STORAGE_EXIST
    - PLAYER_UNIQUE_STORAGE_KEY_EXIST=<STORAGE_KEY_TEXT>
    - SNEAKING
    - STARTS_WITH=<OBJECT_1_TEXT>,<OBJECT_2_TEXT>
    - STORAGE_KEY_EXIST=<STORAGE_KEY_TEXT>
    - TARGET_BLOCK=<DISTANCE_NUMBER>,<MATERIAL_TEXT>
    - TARGET_EXIST=<TARGET_NAME_TEXT>
    - TASK_ID=<ID_TEXT>


    SpecialParticles (5):
    CIRCLE, SPHERE, HELIX, TORNADO, CUBE.
     
    If you're buyer you can request effects, conditions, events, options.
  • Loading...
  • Loading...