Tiers
Scorpion edited this page 4 years ago

Tiers is a new way of creating many ranks and even sections available with AdvancedBCRanks since version 2.0.0

READ FIRST:

Updating from 1.x.x to 2.x.x can be done easily with a command: /bcr convert settings tier, which attempts to convert your current settings.yml into a seperate file(convert.yml(activated after command is used and rewritten everytime)).

After conversion has finished, shut down your server, open the file "conversion.yml" and check for anything that may appear wrong. Things you may want to change/check are:

  • Tier icon
  • Tier slot
  • Tier name(ConversionTier0 by default)
  • All old requirements(settings.yml) got converted correctly.

After you are happy with the conversion and made any needed adjustments, copy the file to Tier.yml(pre-created) paste it, and start your server.

If you have custom/timed ranks active, simply use /bcr open tiers to view the newly created settings.

Now on to what tiers are, how they work and the main differences between 1.x.x ranks and 2.x.x ranks.

Main difference:

  • Sections(Tiers)
  • Storage changes, required details for the player are now stored inside the item, making it more efficient.
  • All purchased tier options(ranks) are stored inside the player.yml. This way no alternate permission is required to stop repurchasing.
  • Setup has been made easier.
  • Much more configurable(Almost 100%)
  • Easier to maintain.
  • Create the gui however you wish per item!
  • Less permission checks!

Original idea behind bcranks:

BCRanks was and is, a plugin that allows server owners to create ranks based on things they want players to achieve/perform and complete to be rewarded, in this case a rank.

With the addition of 1.5.x and 1.6.x placeholderapi implementation to the ranks this has become a much bigger option. The gui the ranks options all were ment to be configurable in however way you wished to see them.

Unfortunatly tho, with the many available options, its still feeling very limited. While you can do pretty much everything requirement wise, there are some aspects you as owner, cannot do, such as layout.

So been working very hard on the system initially thought out to finally become reality.

Tiers(2.x.x)

Tiers is a system which can be renamed to something else(i.e donator/free/staff/other) whatever you want. All tier "sections" i.e Tier1 are hidden by a simple permission: bcranks.tiers.(tier name). I.E: bcranks.tiers.Tier1

To access the tier section 1 can do /bcr open tiers, which opens the tiers gui. In this all tiers(by player permission) are shown with a lore on how many ranks are in that section.

Clicking the tier item, opens the ranks inside, which than show the requirements and more.

Unlike Settings.yml, the Tier.yml is less "specific" on what you put in.

I.E:(Settings.yml Requirements)


      #Requirements is what makes bcranks what it is.
      # you can add a certain amount of requirements players have to meet in order to successfully obtain the rank.
      Requirements:
        # Lets add some player statistics(Found here: https://minecraft.gamepedia.com/Advancements)
        # This case lets set the time(in seconds) for a player they have to be online.
        # play_one_minute = the time statistic for online time.
        # 86400 = the seconds in a day.
        # now add a confirm and need more message seperated by : and done :)
        playerStatistics:
          - PLAY_ONE_MINUTE:86400:&7[&a✔&7] Spend time on the server for %s:&7[&4✘&7]
            Spend %s on the server playing. &4Now; %current%
        # Next lets add some mcmmo!
        # In the following section you need to specify the skills in a list the player needs.
        mcmmo:
          - 'mining'
          - 'woodcutting'
        # Now specify what a player needs to have in these skills(each)
        # To do so we need "mcmmocombined" which will divide the number input/the skills in the list
        # In this example case players need level 10 in both mining and woodcutting.
        mcmmocombined: 20

Tier.yml has removed the "section" part of the requirements and made it 1 list, even allowing you to create regular messages which arent counted as requirements!

Example:

Requirements:
    - '&2You can also use this section for regular display sections'
    - '&7Such as a lore message/reward lore?'
    - ''
    - 'player;food;4;&7[&a✔&7] Food level %s reached;&7[&4✘&7] Reach food level
    %s. Current: %current%'
    - 'mcmmo;woodcutting;5;&7[&a✔&7] Woodcutting level %s reached;&7[&4✘&7]
    Reach Woodcutting %s. Current: %current%'
    - 'mcmmo;mining;2;&7[&a✔&7] Mining level %s reached;&7[&4✘&7] Reach Mining
    level %s. Current: %current%'
    - 'advancement;minecraft:story/mine_stone;&7[&a✔&7] Advancement unlocked!.;&7[&4✘&7]
      Obtain some cobblestone.'

As you can see by this example, instead of combining a section(such as mcmmo) you can choose what message goes where, add spaces where you wish them to be.

Another difference between 1.x.x and 2.x.x is that tier.yml sections off area's using ; instead of : meaning you can use : in the messages!

Tier Details:

This section covers the tier.yml section by section. Tier.yml has a detailed # explanation but may not be enough so lets go! For this example i'll be using the tier name: Tier1 and the rank Bearcub.

Placeholders to keep in mind:

  • $hasPermission = Checks/confirms the permission given
  • $hasRank = Confirms tier + rank on the player.

requirement placeholders:

  • none = no requirements
  • rank = tier+rank to match and required
  • permission = Permission the player needs to have.

    Settings:
    Tiers:
    Tier1:
    #The tier name
      Icon: NAME_TAG
      Display-Name: '&2Tier 1'
      Display-Slot: 10
      #The "icon" to display in the gui with a custom name and a slot the icon goes in.
      Ranks:
      #Here we start the ranks section.
        BearCub:
        #The name of the rank.
          Rank-Requirements: permission;bcranks.custom.perm;$hasPermission;&2You have our custom permission;&4You may not own this!
          #Rank-Requirements allows you to create a permission section, a tier requirement or nothing.
          #If a permission is used you'll have to specify a permission then $hasPermission can be used to verify the permission to the player. Followed by a confirmation and unowned message.
          #The other 2 options are:
          #"none" | "none";Check below for more inhouse requirements. 
          #"rank" | "rank;Tier1;FirstRank;$hasRank;You have the rank FirstRank;You do not own the rank FirstRank yet!"
              
          #Note: 'rank' and 'permission' can be used later in line too!
              
          Eco-type: 'none'
          Eco-amount: 0
          # This lets you specify the type of economy this rank has.
          # Valid options: none, money, gems, points. (More to come)
          # When set to none, nothing is taken from the player.
          # When set to money, gems or points, the amount under (Eco-amount) will be the amount the player will be losing upon obtaining.
          # For money, you need vault and another activation plugin(i.e cmi/essentials etc)
          # For gems, you need to buy BCGems
          # For points you need the free plugin "playerpoints"
              
          Icon: FEATHER
          Display-Name: '&3BearCub'
          #The icon and display name for this rank.
              
          Requirements:
          - '' #Acts as a space
          - '&2If you complete this list you will get:'
          - '&4Free money!' #These will show without requirement!
          - 'player;food;4;You have more than %s food!;&4Food level required: %s. You only have: %current%' #Will return as requirement!
          Commands:
          - 'eco give %name% 10' #The money as promised!
        
    

Requirements as shown above shown with the sections name(lowercase) i.e: mcmmo, placeholderapi, mmocore etc followed by settings. This way you can make every gui even rank as unique as possible.

Tier.yml have 3 variables(unlike settings which has 2).

  • %name% = the players name
  • %tier% = The tiers name
  • %rank% = The rank for the player

Placeholders:

bcranks.highest_tier bcranks.highest_tier_rank bcranks.lowest_tier_rank bcranks.lowest_tier
Players highest owned tier Players highest owned tier rank Players lowest owned tier rank players lowest owned tier

Requirements Page:

Click here