Add achievements to your Minecraft server.
Tested minecraft versions:
1.18.2
1.19.3
Put achievementsengine.jar to your plugins folder and restart the server.
%nl% - new line
Use § sign instead of & for colors
achievements.yml
* means anything, eg. kill 10 * (means kill 10 any entity), drop 64 * (means drop 64 of any item)
*% means anything like, eg. break 64 *%ore (means break 64 any block which name contains ore)
- join // Join event, eg. join 1 server
- kill* // Kill event, eg. kill 20 zombie named Super Zombie!!
- break // Break block event, eg. break 64 dirt
- place // Place block event, eg. place 128 spruce_log
- pickup* // Pickup (how many items, not how many times) item event, eg. pickup 32 slime_ball
- T_pickup* // Pickup (how many times, not how many items) item event, eg. T_pickup 5 dirt
- drop* // Drop (how many items, not how many times) item event, eg. drop 64 stone
- T_drop* // Drop (how many times, not how many items) item event, eg. T_drop 10 diamond_sword
- craft* // Craft (how many items, not how many times) item event, eg. craft 1 cake
- T_craft* // Craft (how many times, now how many items) item event, eg. craft 10 diamond_pickaxe
- enchant* // Enchant item event, eg. enchant 1 diamond_sword named Magic sword!
- fish // Fish (using fishing rod) event, eg. fish 64 pufferfish
- catch // Catch (using fishing rod) entity, eg. catch 10 wolf
- shoot* // Shoot event, eg. shoot 20 bow
- throw // Throw event, eg. throw 64 snowball, throw 10 trident
- command // Send command event (without arguments), eg. command 30 /ae
- chat // Send chat message event, eg. chat 10 Wiggle-Wiggle
- breed // Breed animals event, eg. breed 10 cow
- complete // Complete achievement event, eg. complete 1 <other achievement key>
- sign // Edit sign event, eg. sign 10 This_is_my_house
- furnace // Take from furnace event, eg. furnace 15 glass (glass is a product)
- eat // Eat event, eg. eat 64 apple
* - event that supports names, eg. kill 1 villager named Some Villager
Before below fields add parent key
enabled
- Mark if achievemnt is enabled
name
- Achievement name
description
- Achievement description
item
- GUI item (default is bedrock)
showProgress
- If true shows the progress in GUI and e
announceProgress
- If true announce when player will progress in achievement by sending chat message to him
requiredProgress
- Is a number. You can specify what sum of progress player need to complete this achievement. Set to 0 to disable.
In this case player needs to mine total 10 of these ores Player can mine 5 iron ores and 5 gold ores to complete this achievement
requiredProgress: 10
events:
- break 10 iron_ore
- break 10 gold_ore
world
- Specify in which world player have to be to make progress in this achievement
events
- List of events required to complete this achievement (syntax: {EVENT} {HOW_MANY_TIMES} {BLOCK/ENTITY/ITEM/TEXT} [named] [TEXT]), eg.
events:
- break 64 dirt
- fish 10 cod
actions
- List of actions (commands) which will be fired when player will complete achievement
{1} - achievement name
actions:
- say {0} completed achievement {1}!
- give {0} minecraft:diamond 1
achievements:
'0':
enabled: true
name: '§6§lMarksman'
description: '§aShoot 64 times from bow%nl%§aRewards:%nl%§b12 diamonds'
item: BOW
showProgress: false
announceProgress: false
events:
- shoot 64 bow
actions:
- give {0} minecraft:diamond 12
'fisherman':
enabled: true
name: '§1§lFisherman'
description: '§aFish 50 cods%nl%§aRewards:%nl%§232 emeralds'
item: FISHING_ROD
showProgress: true
announceProgress: tre
events:
- fish 50 cod
actions:
- give {0} minecraft:emerald 32
'fame':
enabled: true
name: '§6§lIm fame!'
description: '§aComplete all achievements'
item: GOLD_BLOCK
showProgress: false
announceProgress: false
events:
- complete 1 0
- complete 1 fisherman
actions:
- give {0} minecraft:gold_block 64
- 'say {0} Completed all achievements! ;O'
achievements:
'0':
enabled: true
name: §2§lSample Achievement
description: §aUse /ae command and get 1 diamond.
item: BEDROCK
showProgress: false
announceProgress: false
events:
- command 1 /ae
actions:
- give {0} minecraft:diamond 1
messages.yml
prefix
- Commands prefix.
gui-title
- GUI title
gui-next
- Next GUI page
gui-previous
- Previous GUI page
complete-message
- Complete achievement chat message. {0} is achievement name, {1} is description, {2} is events, {3} is actions
progress-message
- Progress achievement chat message. {0} is achievement name
progress
- Progress (text in GUI)
progress-field-prefix
: Prefix in GUI progress list
completed
- Completed (text in GUI)
not-downloaded
- Let the user know that his data is not downloaded yet (mostly for SQL)
event-translation
- Syntax: eventName: translation
- shows event differently in GUIHandler when showProgress is set to true
messages:
prefix: '§2[§6AchievementsEngine§2] '
gui-title: Achievements (Page {0}/{1})
gui-next: §f§lNext page
gui-previous: §f§lPrevious page
complete-message: "§6§k--------------%nl%%nl%§a§lNew achievement!%nl%§a§lUnlocked:
{0}%nl%%nl%§6§k--------------"
progress-message: §aYou made progress in achievement {0}§a!
progress: "§6§lProgress:"
progress-field-prefix: §7§l- §b
completed: §aCOMPLETED!
not-downloaded: '§cWhoaa! Not too fast? Your data is not downloaded yet, please try again later!'
event-translation:
any: "Any item/entity/block"
named: "named"
join: "Join"
kill: "Kill"
break: "Break"
place: "Place"
pickup: "Pickup"
T_pickup: "Pickup (times)"
drop: "Drop"
T_drop: "Drop (times)"
craft: "Craft"
T_craft: "Craft (times)"
enchant: "Enchant"
fish: "Fish"
catch: "Catch"
shoot: "Shoot"
throw: "Throw"
command: "Command"
chat: "Chat"
breed: "Breed"
complete: "Complete"
sign: "Sign"
furnace: "Furnace"
eat: "Eat"
config.yml
useYAML
- When set to true plugin will be using YAML to save data
useSQL
- When set to true plugin will be using SQL to save data
saveInterval
- Interval between data saves (in seconds)
logSave
- When set to true every save will send message to console
keepPlayersInMemory
- When set to true, all player's states (completed achievements, progress) etc. is saved in memory. When set to false it destroys when player left the server
disableOnException
- If set to true then when SQL exception appear the plugin will be disabled
config:
useYAML: true
useSQL: false
saveInterval: 300 # 5 minutes
logSave: true
keepPlayersInMemory: false
disableOnException: true
sql:
host: ''
user: ''
password: ''
database: ''
port: 3306
/ae
- Show achievements list, permission to receive any achievement ae.use
/ae help
- Shows help page, permission that let using below commands (and /ae help) ae.manage
/ae reload
- Reload config ae.reload
/ae achievements
- Print all achievements and requirements to complete ae.achievements
/ae complete <nick> <achievement>
- Complete achievement for some player ae.complete
/ae remove <nick> <achievement>
- Remove player's completed achievement ae.remove
/ae reset <nick> <achievement>
- Reset player's achievement progress ae.reset
/ae transfer <from> <to>
- Transfer player's completed achievements and progress to other player ae.transfer