Skip to content

Configuring Race Abilities

Redned edited this page Mar 4, 2020 · 2 revisions

This part of PwingRaces can be quite complicated, but the goal of this page is to help you understand the ability system a lot better and be able to customize the existing abilities to your liking.

One feature of PwingRaces is the ability to create and customize abilities. PwingRaces as-is comes with a handful of abilities you are able to customize and view at the Ability List page. It is recommended you take a look at this page before heading there. However if you are already familiar with plugins that use a similar system (e.g. MagicSpells or EffectLib), this section should be fairly easy for you to understand.

For this tutorial, we will be picking up from the Configuring Race Triggers and Conditions page so by the end of visiting all these pages, you will have created a race that touches on most all the aspects of this plugin. Below, you can view a list of all the options you are able to customize an ability with.

Ability Option Input Description Default
cooldown int The cooldown of the ability. 0
ability-item string list The ability item(s) for the ability. (See: Item Syntax) none
left-click-ability-item string list The left-click ability item(s) for the ability. (See: Item Syntax) none
consume-ability-item string list The consumable click ability item(s) for the ability. (See: Item Syntax) none
required-permission string The required permission in order to run the ability. none
cooldown-message string The message that shows when you try and use the ability whilst its on cooldown (overrides general message in messages.yml)
cancel-default-action boolean Sets if the default action should be cancelled when the ability is ran. (e.g. cancelling a bow shot) true
override-default-action boolean Sets if the default action should be overridden when the ability is ran. (e.g. overriding other abilities from running with the same ability item) false
allowed-worlds string list A list of allowed worlds that you can run your ability in. all
run-passives string list A list of passives to run when you successfully run the ability (See: Configuring Race Triggers and Conditions) none

Here is an example with the Werewolf race from the previous pages:

race:
    name: Werewolf
    max-level: 30
    require-unlock: true
    gui:
        slot: 29
        icon:
            type: player_head
            owner: Werewolf
            display-name: "&cWerewolf &7| &aUnlocked"
            lore:
            - '&7At night, a dark curse falls upon'
            - '&7this race turning it into a vicious'
            - '&7werewolf!'
        icon-selected:
            type: player_head
            owner: Werewolf
            display-name: "&cWerewolf &7| &eSelected"
            lore:
            - '&7At night, a dark curse falls upon'
            - '&7this race turning it into a vicious'
            - '&7werewolf!'
            enchants:
            - unbreaking 1
            item-flags:
            - hide_enchants
        icon-locked:
            type: skeleton_skull
            display-name: "&c??? &7| &cLocked"
            lore:
            - '&7Defeat the Feral Lycan to'
            - '&7unlock this race.'
    levels:
        1: # The first level
            xp: 200 # How much experience you need to level up
            skillpoints: 1 # How many skillpoints you get for leveling up
        2: 
            xp: 250
            skillpoints: 1
        3: 
            xp: 275 # You don't need to define skillpoints either, but you MUST define how much xp it takes for you to level up.
        4: 
            xp: 300
            skillpoints: 1
        5:
            xp: 350
            skillpoints: 2
        # You can define as many levels as you want below
    attributes:
        generic-max-health: 25
        generic-armor: 5
        generic-attack-speed: 10
        max-mana: 250 # MagicSpells mana
    permissions:
    - essentials.sethome.multiple.werewolf
    - essentials.nick
    - essentials.tpa
    - ^essentials.tpahere # Add ^ before the permission to remove it
    - ^essentials.vanish 
    items:
        vampireknives:
            material: stone_sword
            display-name: "&4V&campire &4K&cnives"
            lore:
            - "&cRight-click to throw!"
        vampirefang: # You can define as many items as you want
            material: ghast_tear
            display-name: "&5V&dampire &4F&cang"
            enchantments:
            - sharpness 5
            item-flags:
            - HIDE_ENCHANTS
    triggers:
        walkongrass:
            trigger: block-relative down grass
            delay: 2
            run-passives:
            - add-potion-effect speed 2 2
        healonsneak:
            trigger: sneak
            delay: 10
            chance: 1
            run-passives:
            - give-health 20
    abilities:
        quickshot:
            ability-item: "bow|&2Q&auickshot &3B&bow"
            ability: QuickshotAbility
            cooldown: 0.5
            arrows: 1
            damage: 2
            spend-arrows: true
            required-permission: quickshot # (Is really pwingraces.ability.quickshot)
            override-default-action: true

For the most part, that should cover the ability section. You may notice that the quickshot ability has some options defined that are not listed above. This is because the quickshot ability has its own section as well that have their own options. Refer to Ability List for more information.

How to Utilize Abilities Even More: