Achievements Reloaded


Achievements - made by Lolmewn


What does this plugin do?

This plugin allows you to add additional achievements to the game. This plugin requries my other plugin, Stats, to work.
Using this plugin, you can add achievements to the game, and add rewards to them. Whenever a player gets an achievement, you can let commands run, give them money and/or items, and much more using the API this plugin will have.

How do I install this?

Download the latest file from the files page and put it in your plugins folder.

Configuring the plugin

config.yml

There's nothing much to configure here yet. You can toggle whether or not it auto-updates, but that's about it.

achievements.yml

This is where you will store all your achievements. An achievement must have the following layout:

<id>
  name: YourAchievementName
  goals:
  - Stat <amount> <TOTAL or the variables belonging to this Stat>
  - another one?

The rest of the things is pretty self-explanatory. Once I have time, I will write down a good how-to-write achievements page.

Stats

These are the available Stats:

StatDescriptionVariables
Block_breakAll broken blocks with their DatavaluesitemId itemData breaking
Block_placeAll placed blocks with their DatavaluesitemId itemData breaking
DeathAll deaths with their causescause entity(boolean, true is safest)
KillAll kills with their causestype
MoveWalking, sailing, riding a train, on the back of a pig or by horse.type (0=walk, 1=boat, 2=train, 3=pig, 4=pig in train, 5=horse)
PlaytimeTime played in seconds
ArrowsArrows shot
Xp_gainedTotal XP gained
JoinsTotal times joined
Fish_catchedTotal fish Caught
Damage_takenTotal damage taken
Times_kickedTotal times kicked
Tools_brokenTotal Tools broken
Eggs_thrownTotal eggs thrown
Items_craftedTotal items crafted
OmnomnomTotal times had a snack
On_fireTotal times being on fire
Words_saidTotal words said
CommandsdoneTotal commands done
VotesTotal times voted for the server (uses Votifier)
WorldchangeTotal times worlds changed
BucketfillTotal buckets filled
BucketemptyTotal buckets emptied
BedenterTotal times bed entered
ItemdropsTotal times items dropped
ItempickupsTotal times items picked up
TeleportsTotal times teleported
ShearTotal times sheared
LastjoinThe time the player joined the server last
LastleaveThe time the player left the server last

Want to use a Stat that uses variables? You have to specify either the variables or use 'TOTAL'.

Variables with StatTypes

Some Stats have variables. A good example is Block_break, it has the variables <blockId> <blockData> and <breaking>.
If you want to have a goal where a player must break 5 blue wool blocks, the goal would be

- Block_break 5 35 3 true

Examples for the other special Stats:

- Block_place 5 TOTAL
- Move 1000 1 #move 1000 blocks with transport type 1 (boat)
- Kill 10 Zombie
- Death 3 Creeper

The format always is - Stat Amount Total|Variables|<empty>

Item Rewards

The way Item Rewards are written down is somewhat difficult. Basically, you should write it down as

items: <itemId>.<itemData>,<amount>;<itemId>.<itemData>,amount;... etc.
items: 35.3,10;1,10
items: 1,20

Note that the itemData doesn't have to be specified
The itemID obvioulsy is the ID the item has (which you can find a full list of here), the itemData is also on that list, and the amount.. well, duhh.
The first example gives you 10 colored wool, and 10 stone. The second example gives you 20 stone.

Example achievements.yml

You can find an example right here.

Commands and permissions

The first release does not have any commands or permissions. A command is planned though.

Development builds

Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk, they may or may not work at all.
Development builds for Stats can be found at my CI, over at http://ci.lolmewn.nl/job/Achievements/.

Source

Want to help develop, or simply view what makes this plugin run?
Visit my bitbucket!

Metrics

This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:

  • 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 version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version

If you wish to disable this feature (/me cries), you can do so by opt-ing out, which you can do in the config file under /plugins/PluginMetrics/

Auto-updater

This plugin has a built-in auto-updater, which connects to BukkitDev to check for updates. If you, for some reason, wish to disable this process, you can do so by setting 'update' to false in the plugins' settings file.

IRC Support

You can find me (and possibly, when I'm around, support) in my IRC channel #Lolmewn on irc.esper.net - See you there!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of ShadowWolfAlpha ShadowWolfAlpha Apr 10, 2014 at 23:05 UTC - 0 likes

    Also please check the tickets - people are receiving achievements again upon restart of the server!

  • Avatar of ShadowWolfAlpha ShadowWolfAlpha Apr 10, 2014 at 21:15 UTC - 0 likes

    Is there a way to give players Custom Rewards?

    Would like the ability to give people who mine X amount of diamonds a custom enchanted Diamond Pickaxe (Say, for example, Eff 10)

  • Avatar of Disfraz Disfraz Apr 09, 2014 at 08:50 UTC - 0 likes

    Is there a way to detect if a player has reached a certain point in the map with this plugin?

  • Avatar of DesertOyster DesertOyster Apr 07, 2014 at 20:01 UTC - 0 likes

    This and your stats plugin are awesome! It took a bit of reading, but i finally got them working. For the future, is there any interest in making a web-end tie-in for achievements? Perhaps linking a jpeg or png file as a "badge" in the config.php for each achievement? Although an in-game UI would be cool, i would imagine a web-ui could be much simpler, and dare i say it, more practical? thats just my two cents.

  • Avatar of thomasmccarron thomasmccarron Apr 02, 2014 at 19:19 UTC - 0 likes

    @thomasmccarron: Go

    Thinking about it again, perhaps a permission node to deny/allow a player to get an achievement? E.g. the permission achievements.<id> could be negated to prevent a player from getting an achievement

  • Avatar of thomasmccarron thomasmccarron Mar 25, 2014 at 12:06 UTC - 0 likes

    Think you'd be able to add an "is_group" goal or something similar? It would allow for lots more customization, giving different rewards based on the group a player is in! Love the plugin ether way! Thanks :)

  • Avatar of cocothemooncat cocothemooncat Mar 19, 2014 at 01:37 UTC - 0 likes

    @Lolmewn: Go

    kk cool.

  • Avatar of Lolmewn Lolmewn Mar 18, 2014 at 08:23 UTC - 0 likes

    @cocothemooncat: Go

    I think console commands were broken but were fixed in dev builds. Once I release an update I'll give the page a big makeover, it's needed.

    Priorities list: Stats, Achievements, Highscores, Skillz, Sortal, rest.

  • Avatar of cocothemooncat cocothemooncat Mar 18, 2014 at 04:00 UTC - 0 likes

    1. KrustyLv is right, there should be some sort of in game GUI for achievements. 2. How do I make the server broadcast the achievement to everyone online? I tried making the reward consoleCommands: bcast %player% earned the achievement %name%! and nothing happened. Great plugin too bad there's not really any documentation.

  • Avatar of KrustyLv KrustyLv Mar 08, 2014 at 09:38 UTC - 1 like

    iT would be cool if there were command to see all achievements in gui menu.

    PVP-RAIDS PVP-RAIDS.COM / PVP.PVP-RAIDS.COM

Facts

Date created
Apr 16, 2013
Categories
Last update
Oct 29, 2013
Development stage
Release
License
GNU General Public License version 3 (GPLv3)
Curse link
Achievements Reloaded
Downloads
6,756
Recent files

Authors

Relationships

Required dependency
Stats
Optional dependency
SpoutPlugin
Vault