simgar98.com

CustomAchievements

CustomAchievements

Would you wish you could add your own achievements to minecraft?
Are your players tired of the vanilla, simple achievements?
Why not give them some more challenging special achievements, unique for your own server?
With a lot of different ways for players to get achievements and a nice GUI which you can configure to suit your needs, CustomAchievements might be the thing for you!


Spigotmc resource: Click here!

Ways to give achievements:
  • Commands
  • Stats
  • Special specific actions a user has to do
Examples of these will be further down the page

There are stats?
Yes, this plugin logs various statistics of users, and this option can easily be disabled in the log.yml file per stat type.
These include: JOINS, KICKS, LEAVES, BLOCKS_PLACED, BLOCKS_BROKEN, MOBS_KILLED, PLAYERS_KILLED, DEATHS, TOTAL_LEVELS, FIRE_ENTITY, ITEM_DROP, ITEM_PICKUP, ITEM_CRAFT, LOCATION and PLAYTIME
If logging of these stats is enabled in the log.yml (toggleable per type of stat) it will add 1 to an amount in a player-uuid named file (So players can change their name without any issues with CA)
Achievements can be given based on the value of such a stattype. (there's a looping clock that checks all stat based achievements for players, delay time is in the config, which is set to 10 seconds by default)

Current list of stat-types:
JOINS, KICKS, LEAVES, BLOCKS_PLACED, BLOCKS_BROKEN, MOBS_KILLED, PLAYERS_KILLED, DEATHS, TOTAL_LEVELS, FIRE_ENTITY, ITEM_DROP, ITEM_PICKUP, ITEM_CRAFT, LOCATION, PLAYTIME, MONEY, VOTES, TAMED, FISH_CAUGHT;

Commands
You can also give players achievements with a single command, you can use /achievement give username achievementname Pretty straight forward.
More help is provided when using /achievement help ingame

Action specific achievements
These options arent enough for you? Don't worry, there is one more way! Well, actually, theres multiple ways!
BREAK_BLOCK, PLACE_BLOCK, ITEM_PICKUP, ITEM_DROP, LOC_REACH
Using these may not be as easy as the other two, but they are very handy, you can for example give achievements when someone breaks a specific type of block, drops one, picks up one, places one or reaches a coord specific location.
of course, if you are having any trouble configuring anything, you can add me on skype: simgar98

Current list of achievement-types:
STAT, BREAK_BLOCK, PLACE_BLOCK, ITEM_PICKUP, ITEM_DROP, LOC_REACH, KILL_PERM, ITEM_CRAFT, CUSTOM, COMMAND, MCMMO;


now, an example of an achievements.yml
this is where you configure your achievements, which can be given with any of the three ways
This is an example of a configured achievements.yml, with explanations of what every option in the doc does

achievements: 
 minestone:  #the achievement name 
    type: BREAK_BLOCK  #activates when you break a block 
    item:  #but what block? 
     id: 1  #a stone block! 
     sub: 0  #with sub-id 0 
  pickupwool:  #again, achievement name 
    type: ITEM_PICKUP  #activates when you pick up an item 
    item:  #what item? 
      id: 35  #wool! (id 35 = wool)
      sub: false  #we don't care about the sub-id, set it to false, the plugin will ignore it!
  die:  #achievement name!
    type: STAT  #activates on a special stat amount 
    stattype: DEATHS  #the type of stat is deaths 
    amount: 1  #it activates when the player's stat 'deaths' is 1 or higher 
  reach00:  #achievement name 
    type: LOC_REACH  #activates when someone reaches a special destination 
    place: world,0,1,0 #worldname,x,y,z  #where? in world 'world', x=0, y=1, z=0, detects in a 0.5block radius!
  pickup10wool:  #achievement name 
    type: ITEM_PICKUP  #activates when you pick up an item 
    item:  #what item? 
      id: 35  #wool! (id 35 = wool)
      sub: false  #we don't care about the sub-id, set it to false, the plugin will ignore it!
    amount: 10  #let him do this action 10 times before he gets the achievement 
    commands:  #award him with commands, executed via console! 
    - give {PLAYER} 35:13 1  #give him a piece of dark green wool 
    - say {PLAYER} just got achievement {ACHIEVEMENT}  #and broadcast it with /say 

I'm sure you system admins can sort it out further yourself, but don't hesistate to contact me on skype if you cant: simgar98!