BuySkills

11.1k Downloads

BuySkills

Please note: BuySkills is not compatible with the old ExpSkills Plugin. You need to update your config by yourself.

BuySkills is a plugin that allows your users to buy or rent skills (i.e. permissions or groups) for money or other currencys. It has a built in skilltree feature, perfect for level based classes.

To make sure you can use everything you want as costs or requirement, this plugin requires the CurrencyHandler Plugin.

Update from 0.x to 1.0

The new version is not compatible with 0.x versions. You need to update your config files yourself.

The level und skillpoint function has been removed but can be achieved with the SkillLevels plugin.

Metrics

This plugin utilises Hidendra's plugin metrics system. You can opt-out under <yourPluginFolder>/PluginMetrics/config.yml

The following informations will be collected:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's implementation and game version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version
  • Your online-mode
  • Your server location

Dependencies

Vault: BukkitDev
CurrencyHandler: BukkitDev

Usage

Commands

User Commands
/skill help [command] - get help for this plugin
/skill list <page> <filter> - list available skills
/skill info <skill> - get information to a specific skill
/skill buy <skill> - buy a skill
/skill rent <skill> - rent a skill
/skill current [player] - shows bought skills
/skill rented - show's your rented skills
Admin Commands
/skill grant <player> <skill> [charge] [rent] - grant a skill
/skill recalculate <player> - recalculate permissions
/skill reload - reload config files
/skill reset <player> - reset all skills of a player
/skill revoke <player> <skill> - revoke a skill from a player

Permission Nodes
buyskills.user - all user permissions
    buyskills.command.help - access to /help command
    buyskills.command.list - access to /list command
    buyskills.command.info - access to /info command
    buyskills.command.buy - access to /buy command
    buyskills.command.rent - access to /rent command
    buyskills.command.current - access to /current command
    buyskills.command.rented - access to /rented command
buyskills.admin - all admin permissions
    buyskills.command.recalculate - access to /recalculate command
    buyskills.command.reload - access to /reload command
    buyskills.command.reset - access to /reset command
    buyskills.command.revoke - Grant access to /revoke command
    buyskills.command.grant - access to /grant command

Configuration

Example Skill
example:
    name: Example # Name of the skill, used for every ingame interaction. Must be unique
    description: "Example skill" # A short description of the skill
    info: "This skill allowes you to do nothing" # A more detailed description of the skill
    category: # A list of categories the skill can be found at (used for /list)
    - example
    perm_earn: # A list of permission nodes the player earns with this skill
    - ex.ample
    perm_need: # A list of permission nodes the player needs for this skill
    - exam.ple
    group_earn: # A list of groups the player earns with this skill
    - examlpe
    group_need: # A list of groups the player needs for this skill
    - player
    skill_need: # A list of skills, needed to buy this skill
    - notexample
    skill_illegal: # A list of skills the player is not allowed to own for this skill
    - examlpe2
    skills_needed: 1 # Number of skills of the skill_need list the player needs for this skill
    worlds: # A list of worlds where you can buy this skill. Leave empty for global.
    - world
    revoke_group: false # Revoke needed groups when buying this skill?
    revoke_perm: false # Revoke needed permissions when buying this skill?
    regrant_perm: false # Regrant needed permissions when this skill is revoked?
    regrant_group: false # Regrant needed groups when this skill is revoked?
    buyable: true # Is this skill buyable?
    rentable: false # Is this skill rentable?
    renttime: 200 # Time in seconds the skill is rented for
    buy_costs: # The costs to buy this skill, uses CurrencyHandler plugin
        food: 10
        health: 10
    rent_costs: # The costs to rentthis skill, uses CurrencyHandler plugin
        food: 10
        health: 10
    buy_need: # This currencies are needed to buy this skill
        food: 20
    rent_need:  # This currencies are needed to rent this skill
        food: 20

Source Code: GitHub