-
Notifications
You must be signed in to change notification settings - Fork 3
Experience and Ranks System
Here is a complete tutorial to understand how the experience and ranks system works. You will also need to check the Ranks Setup and the Default configuration
The entire system rests on the amount of experience a player has. With his experience points, the plugin will calculate what is his level and his rank. This is why the only value in storage files is the experience(this will not stay the same forever I guess). The plugin will first calculate the level of the player depending on the formula you put in the rank.yml file. Then depending on his level, the plugin will attribute a rank to the player. You can see a lot of information about the player by using the command /easyduels profile <player>
. This command requires the easyduels.othersprofile
permission. You can also check your own profile with the command /easyduels profile
. This command requires the easyduels.myprofile
permission. Check below for more information. Here is a profile example:
You can modify the experience of a player with a lot of commands. Note that you can also modify the experience in the storage folder but this is not recommended, especially if the player is connected to the server. Therefore, if you modify the player experience with commands, the player needs to be connected.
Here are some screenshots of what happened in different situations with the default config (you can modify it in the rank.yml file). The player starts with 0 experience points.
When the experience of a player is modified. Happened after /easyduels admin give \<player> 350
.
When a player levels up. Happened after /easyduels admin give \<player> 400
.
When a player reaches a rank (first one here). Happened after /easyduels admin set \<player> 8450
.
When a player reaches a rank (second one here). Happened after /easyduels admin set \<player> 50000
.
There are two types of commands for modifying experience.
-
Target: Those commands require a target to work and you will need the permission
easyduels.admin.rank
to use them. You can see a list of those commands below. The amount must be an integer upper 0.
Command | Description |
---|---|
/ed admin give <player> <amount> | Give an amount of experience points to the specified player. |
/ed admin take <player> <amount> | Take an amount of experience points to the specified player. |
/ed admin set <player> <amount> | Set the amount of experience points for a specified player. |
/ed admin reset <player> | Reset the amount of experience points for a specified player. |
-
All: Those commands don't require a target to work but they automatically target every connected player. You will need the permission
easyduels.admin.rankall
to use them. You can see a list of those commands below. The amount must be an integer upper 0. Use these commands knowing how to use them and reminding yourself that any commands action cannot be undone.
Command | Description |
---|---|
/ed admin giveall <amount> | Give a number of experience points to all connected players. |
/ed admin takeall <amount> | Take a number of experience points to all connected players. |
/ed admin setall <amount> | Set the number of experience points for all connected players. |
/ed admin resetall | Reset the number of experience points for all connected players. |
The level is calculated with a unique mathematical formula. You can modify it in the rank.yml whenever you want, even after you've used an old formula for a while. But if you change it while using it, note that you will need to reload or restart your server and players may have a new level and a new rank without receiving rewards (they will receive permissions after a reload). Here is some advice to use it perfectly.
Here are some formulas you can use. Note that if you want to use the mathematical power symbol, do not use the symbol "^" but write: Math.pow(number, exponent). For example, if you want to put 1.025^%level% (as in the default config), you need to write Math.pow(1.025, %level%). They are used in many plugins or games in general or something equivalent : (Note: Here I use 3000, 100/1.8, and 30000 as multipliers. You can easily modify these values without any knowledge of mathematics. These values increase or decrease the amount of required experience for a level without modifying the general structure for the whole process.)
-
Linear:
exp(%level%) = 3000 * %level%
Click here to see what it looks like
Level | Required Experience |
---|---|
Level 0 | 0 XP |
Level 1 | 300 XP |
Level 2 | 600 XP |
Level 3 | 900 XP |
Level 4 | 1200 XP |
Level 5 | 1500 XP |
Level 6 | 1800 XP |
Level 7 | 2100 XP |
Level 8 | 2400 XP |
Level 9 | 2700 XP |
Level 10 | 3000 XP |
Level 11 | 3300 XP |
Level 12 | 3600 XP |
Level 13 | 3900 XP |
Level 14 | 4200 XP |
Level 15 | 4500 XP |
Level 16 | 4800 XP |
Level 17 | 5100 XP |
Level 18 | 5400 XP |
Level 19 | 5700 XP |
Level 20 | 6000 XP |
Level 21 | 6300 XP |
Level 22 | 6600 XP |
Level 23 | 6900 XP |
Level 24 | 7200 XP |
Level 25 | 7500 XP |
Level 26 | 7800 XP |
Level 27 | 8100 XP |
Level 28 | 8400 XP |
Level 29 | 8700 XP |
Level 30 | 9000 XP |
Level 31 | 9300 XP |
Level 32 | 9600 XP |
Level 33 | 9900 XP |
Level 34 | 10200 XP |
Level 35 | 10500 XP |
Level 36 | 10800 XP |
Level 37 | 11100 XP |
Level 38 | 11400 XP |
Level 39 | 11700 XP |
Level 40 | 12000 XP |
Level 41 | 12300 XP |
Level 42 | 12600 XP |
Level 43 | 12900 XP |
Level 44 | 13200 XP |
Level 45 | 13500 XP |
Level 46 | 13800 XP |
Level 47 | 14100 XP |
Level 48 | 14400 XP |
Level 49 | 14700 XP |
Level 50 | 15000 XP |
Level 51 | 15300 XP |
Level 52 | 15600 XP |
Level 53 | 15900 XP |
Level 54 | 16200 XP |
Level 55 | 16500 XP |
Level 56 | 16800 XP |
Level 57 | 17100 XP |
Level 58 | 17400 XP |
Level 59 | 17700 XP |
Level 60 | 18000 XP |
Level 61 | 18300 XP |
Level 62 | 18600 XP |
Level 63 | 18900 XP |
Level 64 | 19200 XP |
Level 65 | 19500 XP |
Level 66 | 19800 XP |
Level 67 | 20100 XP |
Level 68 | 20400 XP |
Level 69 | 20700 XP |
Level 70 | 21000 XP |
Level 71 | 21300 XP |
Level 72 | 21600 XP |
Level 73 | 21900 XP |
Level 74 | 22200 XP |
Level 75 | 22500 XP |
Level 76 | 22800 XP |
Level 77 | 23100 XP |
Level 78 | 23400 XP |
Level 79 | 23700 XP |
Level 80 | 24000 XP |
Level 81 | 24300 XP |
Level 82 | 24600 XP |
Level 83 | 24900 XP |
Level 84 | 25200 XP |
Level 85 | 25500 XP |
Level 86 | 25800 XP |
Level 87 | 26100 XP |
Level 88 | 26400 XP |
Level 89 | 26700 XP |
Level 90 | 27000 XP |
Level 91 | 27300 XP |
Level 92 | 27600 XP |
Level 93 | 27900 XP |
Level 94 | 28200 XP |
Level 95 | 28500 XP |
Level 96 | 28800 XP |
Level 97 | 29100 XP |
Level 98 | 29400 XP |
Level 99 | 29700 XP |
Level 100 | 30000 XP |
- Polynomial:
exp(%level%) = 100 * Math.pow(%level%, 1.8)
Click here to see what it looks like
Level | Required Experience |
---|---|
Level 0 | 0 XP |
Level 1 | 100 XP |
Level 2 | 348 XP |
Level 3 | 722 XP |
Level 4 | 1213 XP |
Level 5 | 1812 XP |
Level 6 | 2516 XP |
Level 7 | 3320 XP |
Level 8 | 4222 XP |
Level 9 | 5220 XP |
Level 10 | 6310 XP |
Level 11 | 7490 XP |
Level 12 | 8760 XP |
Level 13 | 10118 XP |
Level 14 | 11562 XP |
Level 15 | 13091 XP |
Level 16 | 14703 XP |
Level 17 | 16399 XP |
Level 18 | 18176 XP |
Level 19 | 20033 XP |
Level 20 | 21971 XP |
Level 21 | 23988 XP |
Level 22 | 26083 XP |
Level 23 | 28256 XP |
Level 24 | 30506 XP |
Level 25 | 32832 XP |
Level 26 | 35233 XP |
Level 27 | 37710 XP |
Level 28 | 40261 XP |
Level 29 | 42886 XP |
Level 30 | 45585 XP |
Level 31 | 48356 XP |
Level 32 | 51200 XP |
Level 33 | 54116 XP |
Level 34 | 57103 XP |
Level 35 | 60162 XP |
Level 36 | 63291 XP |
Level 37 | 66491 XP |
Level 38 | 69761 XP |
Level 39 | 73100 XP |
Level 40 | 76508 XP |
Level 41 | 79985 XP |
Level 42 | 83531 XP |
Level 43 | 87145 XP |
Level 44 | 90827 XP |
Level 45 | 94576 XP |
Level 46 | 98393 XP |
Level 47 | 102277 XP |
Level 48 | 106227 XP |
Level 49 | 110243 XP |
Level 50 | 114326 XP |
Level 51 | 118475 XP |
Level 52 | 122689 XP |
Level 53 | 126969 XP |
Level 54 | 131313 XP |
Level 55 | 135723 XP |
Level 56 | 140197 XP |
Level 57 | 144735 XP |
Level 58 | 149338 XP |
Level 59 | 154005 XP |
Level 60 | 158735 XP |
Level 61 | 163529 XP |
Level 62 | 168386 XP |
Level 63 | 173306 XP |
Level 64 | 178289 XP |
Level 65 | 183334 XP |
Level 66 | 188443 XP |
Level 67 | 193613 XP |
Level 68 | 198846 XP |
Level 69 | 204140 XP |
Level 70 | 209496 XP |
Level 71 | 214914 XP |
Level 72 | 220393 XP |
Level 73 | 225934 XP |
Level 74 | 231535 XP |
Level 75 | 237198 XP |
Level 76 | 242921 XP |
Level 77 | 248704 XP |
Level 78 | 254548 XP |
Level 79 | 260453 XP |
Level 80 | 266417 XP |
Level 81 | 272441 XP |
Level 82 | 278525 XP |
Level 83 | 284669 XP |
Level 84 | 290873 XP |
Level 85 | 297135 XP |
Level 86 | 303457 XP |
Level 87 | 309838 XP |
Level 88 | 316278 XP |
Level 89 | 322777 XP |
Level 90 | 329334 XP |
Level 91 | 335950 XP |
Level 92 | 342624 XP |
Level 93 | 349357 XP |
Level 94 | 356148 XP |
Level 95 | 362997 XP |
Level 96 | 369903 XP |
Level 97 | 376868 XP |
Level 98 | 383890 XP |
Level 99 | 390970 XP |
Level 100 | 398107 XP |
- Exponential:
exp(%level%) = 30000 * Math.pow(1.025, %level%) - 30000
Used in the default config
Click here to see what it looks like
Level | Required Experience |
---|---|
Level 0 | 0 XP |
Level 1 | 750 XP |
Level 2 | 1519 XP |
Level 3 | 2307 XP |
Level 4 | 3114 XP |
Level 5 | 3942 XP |
Level 6 | 4791 XP |
Level 7 | 5661 XP |
Level 8 | 6552 XP |
Level 9 | 7466 XP |
Level 10 | 8403 XP |
Level 11 | 9363 XP |
Level 12 | 10347 XP |
Level 13 | 11355 XP |
Level 14 | 12389 XP |
Level 15 | 13449 XP |
Level 16 | 14535 XP |
Level 17 | 15649 XP |
Level 18 | 16790 XP |
Level 19 | 17960 XP |
Level 20 | 19158 XP |
Level 21 | 20387 XP |
Level 22 | 21647 XP |
Level 23 | 22938 XP |
Level 24 | 24262 XP |
Level 25 | 25618 XP |
Level 26 | 27009 XP |
Level 27 | 28434 XP |
Level 28 | 29895 XP |
Level 29 | 31392 XP |
Level 30 | 32927 XP |
Level 31 | 34500 XP |
Level 32 | 36113 XP |
Level 33 | 37766 XP |
Level 34 | 39460 XP |
Level 35 | 41196 XP |
Level 36 | 42976 XP |
Level 37 | 44800 XP |
Level 38 | 46670 XP |
Level 39 | 48587 XP |
Level 40 | 50552 XP |
Level 41 | 52566 XP |
Level 42 | 54630 XP |
Level 43 | 56746 XP |
Level 44 | 58914 XP |
Level 45 | 61137 XP |
Level 46 | 63416 XP |
Level 47 | 65751 XP |
Level 48 | 68145 XP |
Level 49 | 70598 XP |
Level 50 | 73113 XP |
Level 51 | 75691 XP |
Level 52 | 78333 XP |
Level 53 | 81042 XP |
Level 54 | 83818 XP |
Level 55 | 86663 XP |
Level 56 | 89580 XP |
Level 57 | 92569 XP |
Level 58 | 95633 XP |
Level 59 | 98774 XP |
Level 60 | 101994 XP |
Level 61 | 105294 XP |
Level 62 | 108676 XP |
Level 63 | 112143 XP |
Level 64 | 115696 XP |
Level 65 | 119339 XP |
Level 66 | 123072 XP |
Level 67 | 126899 XP |
Level 68 | 130821 XP |
Level 69 | 134842 XP |
Level 70 | 138963 XP |
Level 71 | 143187 XP |
Level 72 | 147517 XP |
Level 73 | 151955 XP |
Level 74 | 156504 XP |
Level 75 | 161166 XP |
Level 76 | 165945 XP |
Level 77 | 170844 XP |
Level 78 | 175865 XP |
Level 79 | 181012 XP |
Level 80 | 186287 XP |
Level 81 | 191694 XP |
Level 82 | 197237 XP |
Level 83 | 202917 XP |
Level 84 | 208740 XP |
Level 85 | 214709 XP |
Level 86 | 220827 XP |
Level 87 | 227097 XP |
Level 88 | 233525 XP |
Level 89 | 240113 XP |
Level 90 | 246866 XP |
Level 91 | 253787 XP |
Level 92 | 260882 XP |
Level 93 | 268154 XP |
Level 94 | 275608 XP |
Level 95 | 283248 XP |
Level 96 | 291079 XP |
Level 97 | 299106 XP |
Level 98 | 307334 XP |
Level 99 | 315767 XP |
Level 100 | 324411 XP |
Soon !
EasyDuels is an open-source and free plugin for spigot servers, offering a new 1v1 system for your server.