RCAchievements

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • RCAchievements is a Raid-Craft plugin that makes it possible to gather achievements on the Raid-Craft network. Achievements can be anything ranging from secret locations over kill counts, completed quests and even achievements for gathering multiple achievements are possible.
    The Achievements plugin uses the Action API to parse the configs for trigger, requirements and actions. To learn how to program new actions, requirements and trigger and how to configure them, please see the Action API article.
    The plugin also depends on YAML Configurations and a database to save gained achievements. The database can also be queried for all configured achievement templates, but any changes made to the database template entries will be overwritten on plugin reboot.

    Installation

    RCAchievements makes use of the RaidCraft-API and all API classes are inside the de.raidcraft.api.achievements package. The RaidCraft-API is therefor a mandatory requirement before installing RCAchievements.
    To install the plugin simply drop it into the plugin folder, restart the server, adjust the database.yml configuration and restart the server again.

    Folder Strutcure

    RCAchievements has its own deep folder structure to sort all configured achievements, language files and queued achievement templates. You can recursively create subfolders inside the achievements/ folder and all configs inside will be loaded.

    achievements/ - Contains all achievement configs and may contain a variable number of subfolders.

    command-templates/ - Contains templates that have been created via command and are not yet active and loaded.

    languages/ - Contains language files for all requested languages.

    database.yml - Contains username, password, etc. for the database access.


    Configuration

    All achievements are located in the achievements/ folder and subfolders. As best practice it is recommended to create subfolders based on your achievement categories. If you have achievements for different areas of your world you should create folders for these areas and create the achievements inside.

    To make life a little bit easier you can create the basic templates by executing the /rcaa create <id> <Name> command and then edit the created config file. Below is an example config. To learn how to configure actions, requirements and trigger see the Action API tutorial.

    Source Code

    1. name: Friendly Achievement Name
    2. description: Description of the achievement. If the achievement is not secret the players can see this before completing the achievement, so dont spoil stuff inside the description ;).
    3. # achievement points are something you can choose freely, but you should define some rules for your achievement creators to not have chaos and big point spans
    4. points: 10
    5. enabled: true
    6. # if the achievement is secret it will still be broadcasted but only the name can be viewed. The description is hidden and only available to the players who completed the achievement.
    7. secret: false
    8. # when set to false the achievement will not be broadcasted to all online players
    9. broadcasting: true
    10. # see the Action API tutorial to lean how to configure these requirements, actions and trigger
    11. trigger: {}
    12. requirements: {}
    13. actions: {}
    Display All


    Commands

    Admin Commands

    As an admin or moderator you have multiple commands to create and manage achievements and add/remove them to users. All admin commands start with /rcaa:

    ParametersPermissionsDescription
    reloadrcachievements.reloadReloads the plugin and all configurations from disk. Also clears the holder cache.
    create [-m <folder>][-r <radius>][-p <points>][-s][-e][-b] [-d <desciption>] <id> <Full Name>rcachievements.achievement.createCreates a location achievement with the defined radius at the senders position. You can specifiy a folder to move the new config to, else it will be moved to "commands-templates". You can enable (-e) the achievement, make it secret (-s) or disable broadcasting (-b). You must specify a unique id as a String and the friendly Name that may contain spaces.
    enable <Name or Id>rcachievements.achievement.enableTries to find an achievement with the given name and enables it.
    disable <Name or Id>rcachievements.achievement.disableTries to find an achievement with the given name and disables it.
    give <-p <player>> <Name or Id>rcachievements.achievement.giveTries to find the achievement and give it to the player.
    remove <-p <player>> <Name or Id>rcachievements.achievement.removeTries to find the achievement and take it from the player.
    list [-p <page>]rcachievements.cmd.listallLists all configured and loaded achievements.
    warp <Name or Id>rcachievement.achievement.teleportWarps to the creation location of the achievement. May not be possible.

    Example:
    /rcaa create -e -m world.locations -r 2 -d Finde die Höhle des Einsiedlers -p 4 -b derEinsiedler Der Einsiedler
    It creates a Achievement with the name "Der Einsiedler" in the folder hierachy world/locations/derEinsiedler.yml
    This Achievement has a radius from the set location of 2 blocks and gives the player 4 points.
    Broadcasting is disabled by the -b flag. The -e flag enables directly.

    Player Commands

    Players can list their achievements and view the top players with the most achievement points. All Player Commands start with /rca or /achievements:

    ParametersPermissionDescription
    top [-p <page>] [-s]rcachievements.cmd.topLists the top players with their achievement points. If -s is specified it will show the players position and 3 above and below.
    list [-p <page>]rcachievements.cmd.listShows a list of all gained achievements with the date.

    4,047 times viewed