NotRanks icon

NotRanks -----

GUI Rank system that utilizes placeholders for requirements




Fixed a bug that stopped players from being able to rankup through the GUI after the first rank.

Made ActionCommands more consistent.
----------, Dec 20, 2024

Added a new placeholder %notranks_prefix_raw% that will return the raw prefix unformatted.

Fixed an error that occurred with the rank command after deleting a rank from the config.
----------, Dec 20, 2024

Fixed a bug where some text was not formatted correctly.
Fixed some tab completions for the rankup command.
Fixed a bug that would stop the confirm item in the rankup GUI to work.
----------, Nov 30, 2024

The text used to specify ranks in commands has been improved. You can either use the rank name, replacing the spaces with underscores, or you can use the configuration name as shown below.

Code (YAML):
# gui that opens with no path specified
default
:
  auto-rankup
: false
  # The name of the configuration section is what players can use in commands
  Starter
: # <-------
    # This is used in the GUI
    name
: '&9&lStarter'
    # This is used with the prefix feature or the %notranks_prefix% placeholder
    # You can remove this option, and the default prefix will be the rank name.
    prefix
: '&7 [&9&lStarter&7 ]'
----------, Nov 27, 2024

You can now specify a prefix in the ranks.yml file for each rank. ex:
Code (YAML):
rank-path:
  auto-rankup
: false
  1
:
    # I advise not to use spaces in the name, otherwise players will have to use rank numbers instead of names in commands
    # This is used in the GUI
    name
: '&9&lStarter'
    # This is used with the prefix feature or the %notranks_prefix% placeholder
    # You can remove this option, and the default prefix will be the rank name.
    prefix
: '&7 [&9&lStarter&7 ]'
... other options ...
You can now also use an additional format for hex codes:
<#xxxxxx>colored text</#xxxxxx>
----------, Nov 25, 2024

The custom model data for ranks will now properly be displayed for all configurations
----------, Aug 11, 2024

Added a new optional section for ranks in the ranks.yml file called "
requirement-commands". This allows you to run commands when a specific requirement is completed.
Code (YAML):
    # These commands are run for each completed requirement
    requirement-commands
:
      # requirement number in the order they are displayed in the requirements section
      1
:
       - ' [message_player ] &6You''ve defeated 100 mobs.'
      2
:
       - ' [message_player ] &6You''ve mined 500 stone. As your reward, have 500 more.'
        - 'minecraft:give {player } stone 500'
----------, Jul 4, 2024

  • A new config section will appear under command-aliases called arguments that will let you change the static words in the commands like "prefix" to another text.
  • You can now add custom model data for the rank items. If you are updating, you will have to add this option if you want to use it. use the custom-model-data option in line with all the other item information. See the example below
Code (YAML):
 1 :
    # I advise not to use spaces in the name, otherwise players will have to use rank numbers instead of names in commands
    name
: '&9&lStarter'
    # If HeadDataBase is installed, this will try and get a head ID, otherwise Base64
    head
: 193
    # this item will be used if heads is disabled
    item
: LIME_CONCRETE
    # {cost} to get x/total - with prefix & suffix around each number
    # {req1} to get the first requirement x/total ({req2} {req3} etc.)
    # lore will change from red to green after completion if there is ^^ included
    lore
:
     - '&e<△> &c&lREQUIREMENTS &e<△>'
      - '&7→ &fPrice
: {cost }'
      - '&7→ &fHours Played
: {req3 }'
      - '&7→ &fMob Kills
: {req1 }'
      - '&7→ &fStone Broken
: {req2 }'
      - '&e<△> &c&lREWARDS &e<△>'
      - '&7→ &9&lStarter &ftitle.'
    # add custom model data to the rank item for a resource pack
    custom-model-data
: 123 # <------------ custom model data
    # this will change the lore and item when the rank is completed
    # this could be useful if you want to unlock lore or add a secret message
    completion-lore
:
      enabled
: false
      # this will override the completed head
      head
: 21771
      item
: EMERALD_BLOCK
      lore
:
       - '&7<&m                      &7>'
        - '&a&l&nRank Completed'
        - '&7<&m                      &7>'
      custom-model-data
: 123 # <------------ custom model data
    # this will change the lore and item if the player cannot rankup to the rank
    not-on-rank
:
      enabled
: false
      head
: 69288
      item
: SCULK
      lore
:
       - '&7<&m                      &7>'
        - '&cYou do not have access'
        - '&cto this rank yet'
        - '&7<&m                      &7>'
      custom-model-data
: 123 # <------------ custom model data
    hide-nbt
: true
    requirements
:
      #                        vv operator - can be "<=" ">=" "!=" "=" ">" "<" ||| true/false & text can only use "!=" & "="
      # papi placeholder vv    vv  vv required amount - Make sure you download the placeholder before you use it
      - ' %statistic_mob_kills% >= 100'
      #- '%mcmmo_power_level% >= 5'
      - ' %statistic_mine_block:STONE% >= 500'
      # playtime
      - ' %statistic_hours_played% >= 1'
      # kill 3 MythicMobs SkeletalKnights
      #- 'mythic:SkeletalKnight >= 3'
    # auto checks and takes away with options defined in currency
    cost
: 3
    commands
:
      # use {player} to replace it with the players name
      # does not need a '/' in front of the command
      - 'broadcast &e&lCongrats to &a {player } &e&lfor ranking up to &9&lStarter'
      #- 'lp user {player} promote playerranks'
----------, May 7, 2024

Updated to work in 1.20.5.
  • Added the optional hide-tooltip option in the gui.yml file to hide anything from showing up when hovering over the item
I am aware of a bug that prevents attributes from being hidden.
----------, Apr 27, 2024

Changes
  • Added new section in the config.yml file to change the command aliases
Code (YAML):
# different commands that people can use instead of the default one
# a restart is required to load new aliases
command-aliases
:
  # command name
  notranks
:
   - rank
    - ranks
  notrankup
:
   - rankup
  notrankinfo
:
   - rankinfo
  • Added new options to the ranks.yml file to have a different item if the rank is completed, or the player isn't on the rank
Code (YAML):
   completion-lore:
      enabled
: true
      head
: 74738
      item
: QUARTZ_BRICKS
      lore
:
       - '&7<&m                      &7>'
        - '&a&l&nRank Completed'
        - '&7<&m                      &7>'
    not-on-rank
:
      enabled
: true
      head
: 44101
      item
: SCULK_VEIN
      lore
:
       - '&7<&m                      &7>'
        - '&cYou do not have access'
        - '&cto this rank yet'
        - '&7<&m                      &7>'
  • You can now use -1 in the head options to use the item instead if you only want heads in some slots and items in others.
----------, Mar 10, 2024

There is a new config option in the ranks.yml file under each rank path. You may have to start your server with this version once before it appears. The option is called auto-rankup. Set this to true to automatically rank up players in that path.
----------, Jan 31, 2024

Currency Changes
  • A previous update caused the config to look very unorganized, so this update fixes the configuration
  • NotRanks now can hook into Vault
  • You can now use multiple currencies just like NotBounties
Other Changes
  • PlaceholderAPI is no longer required but it is recommended
  • Added a new language option for the prefix item lore
  • Hex now works in the prefix item name
  • PlaceholderAPI is now parsed in more messages
  • Added new placeholder %notranks_ranks_unlocked_<path>% to get the number of ranks unlocked. You can also use %notranks_ranks_unlocked% to get the total ranks unlocked
----------, Jan 11, 2024

This was a small update. Code was optimized and the prefix command now removes the chat colors.
----------, Oct 31, 2023

Added a new option in ranks.yml called not-on-rank.
Code (YAML):
   not-on-rank:
      enabled
: true
      lore
:
       - '&7<&m                      &7>'
        - '&cYou do not have access'
        - '&cto this rank yet'
        - '&7<&m                      &7>'
Looks just like completion-lore, but this lore will show up if orderly progression is true and the rank is not their next rank.

Code (YAML):
default:
  1
:
    # I advise not to use spaces in the name, otherwise players will have to use rank numbers instead of names in commands
    name
: '&9&lStarter'
    # If HeadDataBase is installed, this will try and get a head ID, otherwise Base64
    head
: 193
    # this item will be used if heads is disabled
    item
: EMERALD_BLOCK
    # {cost} to get x/total - with prefix & suffix around each number
    # {req1} to get the first requirement x/total ({req2} {req3} etc)
    # lore will change from red to green after completion if there is ^^ included
    lore
:
     - '&e<△> &c&lREQUIREMENTS &e<△>'
      - '&7→ &fPrice
: {cost }'
      - '&7→ &fHours Played
: {req3 }'
      - '&7→ &fMob Kills
: {req1 }'
      - '&7→ &fStone Broken
: {req2 }'
      - '&e<△> &c&lREWARDS &e<△>'
      - '&7→ &9&lStarter &ftitle.'
    # this will change the lore when the rank is completed
    # this could be useful if you want to unlock lore or add a secret message
    completion-lore
:
      enabled
: false
      lore
:
       - '&7<&m                      &7>'
        - '&a&l&nRank Completed'
        - '&7<&m                      &7>'
    # this will change the lore if the player cannot rankup to the rank
    not-on-rank
:
      enabled
: false
      lore
:
       - '&7<&m                      &7>'
        - '&cYou do not have access'
        - '&cto this rank yet'
        - '&7<&m                      &7>'
    hide-nbt
: true
    requirements
:
      #                        vv operator - can be "<=" ">=" "!=" "=" ">" "<" ||| true/false & text can only use "!=" & "="
      # papi placeholder vv    vv  vv required amount - Make sure you download the placeholder before you use it
      - ' %statistic_mob_kills% >= 100'
      #- '%mcmmo_power_level% >= 5'
      - ' %statistic_mine_block:STONE% >= 500'
      # playtime
      - ' %statistic_hours_played% >= 1'
    # auto checks and takes away with options defined in currency
    cost
: 3
    commands
:
      # use {player} to replace it with the players name
      # does not need a '/' in front of the command
      - 'broadcast &e&lCongrats to &a {player } &e&lfor ranking up to &9&lStarter'
      #- 'lp user {player} promote playerranks'
One last thing that was changed is the notranks.default permission is now required to use the commands. This is enabled by default.
----------, Aug 27, 2023

Placeholders can now be used in rank names and GUI titles.
Other changes:
  • /rank remove has the right usage message now
  • /rankinfo now works
----------, Aug 18, 2023

Added a new feature that allows players to select their prefix in chat. Do /rank prefix to open up a new GUI. There, players can select a prefix from the ranks they have completed, or they can choose to follow a rank path.
List of changes:
  • Added new GUI in gui.yml
  • Added a few custom items for the new GUI
  • Added /rank prefix <path/reset> <rank/#> command
  • Fixed a bug where the console would show dark gray chat after someone messaged
  • Added 4 new messages in language.yml
  • Changed the prefix placeholder to %notranks_prefix% and it is actually useful now
Thanks to AngelicMonk on discord for making me code this update. I knew it was something I would have to do in the future, but at the time I was procrastinating. If you see any bugs, let me know in the discord. It would be greatly appreciated!
----------, Jul 20, 2023

  • Fixed a bug where having a number of ranks devisable by 7 would break auto-size
  • Players with the notranks.admin permission no longer need other permissions to open rank paths
----------, Jun 26, 2023

Fixed a bug where doing /rankup with no arguments would cause an error
----------, Jun 13, 2023

Added require-permission: option in the GUI if you want to enable or disable a permission check
Added %notranks_prefix_<path>% placeholder to get the rank name
----------, Jun 10, 2023

Players must now have the correct permissions to view other rank paths than the default. The default rank path permission is given to players automatically. The rank path permissions are: notranks.example-path

The admin commands have been changed so console can now use them
----------, Jun 9, 2023

This update adds the option for a different deny-click item for completed ranks. There is a new config option called "completed-deny-click-item" which is right below "deny-click-item". This acts the same way as the original deny-click item.

There is also a new language option for completed ranks. It is called "already-completed".
----------, Jun 5, 2023

Yes, I know. This update is not looking good already bug wise. I just thought of this while in the shower. I forgot a statement in my code. It was literally half a line.
Confirmation GUI will no longer open if confirmation is disabled and a player is trying to rankup with a command
----------, Jun 1, 2023

This update will move data from your config.yml into other files. Please back up your config.yml before updating!

GUI:
  • Customization is now similar to NotBounties
  • GUI layouts are now in gui.yml
  • Custom items have been moved so you can use them in multiple GUIs
  • You can now add custom model data
  • Actions you can use with click commands on custom items have increased
  • Rank slots have been moved from the layout to a list above layout
  • Added a new option called: orderly-progression. Change this if you want to be able to skip ranks
Ranks:
  • Rank paths are now in ranks.yml
  • The layout of the formatting is mostly the same, but there is a new parent section for new rank paths
Code (YAML):
# default rank path (required)
default
:
  1
:
    ...
  2
:
    ...
another-rank-path
:
  1
:
    ...
 
New formatting
  • The parent of the rank path must match the parent of the GUI. In this case, there must be "another-rank-path" in the ranks.yml, and in GUI.yml
Other changes:
  • Because there are new rank paths, commands can now accept a rank path. The default rank path will be used if none is specified
  • Placeholders can now accept a rank path
  • Added a complimentary rank path and GUI that has 8 ranks
  • Currently, the chat system only uses ranks that are in the default path. I will have to make some way for players to change that in the future
  • Typos are easier to find in requirements
  • New message in language.yml: unknown-rank-path
  • Added confirmation option in the config. There is a specific GUI that goes with it called "confirmation" that is not tied to a rank path
I have tested this version more thoroughly than version 1.3 in hopes to reduce the bugs. That being said, I am not perfect, so please report any you see in the discord.
----------, Jun 1, 2023

Fixed a bug where the head section in the config wasn't working properly
Made it more obvious if you made an error using {req<x>} in the lore
Optimized some code
----------, May 20, 2023

Clicking on a rank in the GUI will send you a message. If you cannot rankup, or are not on the rank, it will change the item to display the correct deny message in the item's name.

Configurability:
There is a new option in the config under the GUI options called "deny-click-item". This is the item that the rank item will change to when it is displaying a message. Change this to any material. If you don't want the item to change but still want the message to be displayed, you have a few options: 1) Change the config option to "RANK" which will only change the display name. 2) Change the config option to "DISABLE" which will send you a message in chat.

Code (YAML):
gui :
  # what item will pop up when you are denied in the config
  # set to DISABLE to disable
  # set to RANK to only change it item name
  deny-click-item
: STRUCTURE_VOID
----------, May 19, 2023

All instances where you could have a HeadDataBase head can be replaced with a Base64 string to get a head that way. Because of this, I changed the config naming a little bit so it would make more sense. "hdb" changes to "head" or "heads". This change should be automatic.

Thanks kqz on discord for the suggestion.

Also fixed a bug that came back from the past. T.T
----------, May 18, 2023

Fixed a bug where currency was not compared correctly when it was a placeholder.

You now get a message when you try to rankup through the GUI and don't meet the requirements. (rankup-deny)
----------, May 17, 2023

There are two main things in this update:
  • New completed line section in the config. Add characters before the line, before the amount, after the amount, and after the line
  • Formatting of numbers. Big numbers will now be formatted to have either a spacer like ',' or a suffix like 'k'. You can change this in the config
One small change, the rankup message in language.yml now works.

Take a look at the config notes for more details.
----------, May 16, 2023

I spent a lot of time on this update to upgrade the features of this plugin.

The first thing that was added was a custom GUI. You are able to change the GUI size, move items around, and create custom items that can do actions when clicked. All of this is disabled by default, and you need to set
Code (YAML):
 auto-size : false
to change modes.

Some other changes:
  • Added a strikethrough option for rank completion
  • Added optional completion lore for each rank
  • Added a hide-nbt option
  • Added 5 placeholders: %notranks_rank%,
    %notranks_rank_number%,
    %notranks_requirement_<x>%,
    %notranks_rank_progress%, and
    %notranks_rank_cost%
  • Fixed a problem with rank requirements not working with an empty list
  • Changed how HeadDataBase was incorporated and added an enable option
If you want more information, take a look at the updated config, and I've annotated every new option
----------, Apr 25, 2023

This update adds a chat prefix option in the config. It will be disabled by default if you are updating it.
Code (YAML):
prefix:
  enabled
: true
  # this will overwrite any other plugin that tries to edit the chat message before it
  # disable to work with other chat formatting, and remove {name} from format
  overwrite-previous
: true
  # message format
  # {prefix} for the rank name
  # {name} for player name - must be used once and only once if overwrite is enabled
  # placeholders will be parsed
  format
: '&7 [ {prefix }&7 ] &f {name } &* : &r'
  # name of beginning rank
  no-rank
: '&fUnranked'
----------, Apr 19, 2023

Resource Information
Author:
----------
Total Downloads: 1,167
First Release: Mar 1, 2023
Last Update: Dec 20, 2024
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings