CMI Ranks

Mar 22, 2018
CMI Ranks
  • [​IMG]

    Main server folder spigot.yml and check that stats saving prevention its set to false stats->disable-saving: false
    Player will get default rank group depending on set permission node cmi.defaultrank.[rankName]
    Not enabled ranks will be ignored
    DisplayName section is optional and it will be used to represent rank ingame. This is NOT defining required permission node and you still need to use node name to rankup to this rank
    DefaultRank section defines if player can be assigned to this rank if he don't have any. There can be more than one default rank, and depending on permission node, first rank will be assigned to that player when needed
    AutoRankup section defines if player will be auto ranked to this rank if possible. Keep in mind that if there are more than one legit rankup's, player will have to confirm to which rank he wants to rankup
    RankupConfirmation section defines if you want to add additional confirmation for this rankup. Useful to avoid unintentional rankups. Keep in mind that autorankup will request confirmation for rankup to this rank even if there is only one legit rankup option
    NextRanks is list of possible next ranks from this rank. Can be one or can be dozens. Keep in mind that each rank requirements will be shown in chat and it can clutter quite allot if there is bunch of them at once
    MoneyCost defines how much player will have to pay to rankup to this rank
    ExpCost defines how much player will have to pay in exp to rankup to this rank
    Commands is list which will be performed on rankup. Can be additional actions, like message broadcast or anything alse
    Main section is StatsRequirements and it can have allot of different values in it:
    In general format goes like this [mainStat]:)optionalSubStat):amount
    In example MonsterKills:100 will require from player to have 100 monster kills while MonsterKills:Zombie:100 will require to have 100 zombie kills. Both of them can be used if needed.
    List of possible requirement and basic explanations:

    Distance in blocks:
    Travel - travel in total
    Walk - has to walk
    Sneak - has to sneak
    Sprint - has to sprint
    Swim - has to swim
    Fall - has to fall
    Climb - has to climb
    Fly - has to fly
    Dive - has to walk under water
    MinecartTravel - has to travel with minecart
    BoatTravel - has to travel with boat
    PigTravel - has to ride pig
    HorseTravel - has to ride horse
    ElytraTravel - has to fly with elytra
    Time in sec:
    PlayTime - total play time
    AccountAge - time from first player login into server
    FromLastDeath - from last death
    SneakTime - sneak time
    Amounts:
    GameQuit - how many times player left game
    Jump - jump count
    DamageDealt - total damage made
    DamageTaken - total damage taken
    Deaths - count of deaths
    MobKills - total amount of mobs killed by player
    PlayerKills - total amount of players killed. Indirect kills dont count
    ItemEnchanted - amount of enchanted items
    AnimalsBred - animals bred
    FishCaught - fish caught
    TalkedToVillager - times talked to villager
    TradedWithWillager - traded with willager
    CakeSlicesEaten - cake slices eaten
    CauldronFilled - cauldron filled
    CouldronUsed - couldron used
    ArmorCleaned - times armor cleaned (leather armor)
    BannerCleaned - times banner cleaned
    BrewingstandInteractions - brewingstand interactions
    BeaconInteractions - beacon interactions
    CraftingTableInteractions - crafting table interactions
    FurnaceInteractions - furnace interactions
    DispenserInspected - dispenser inspected
    DropperInspected - dropper inspected
    HopperInspected - hopper inspected
    ChestOpen - chest open
    TrappedChestTriggered - trapped chest triggered
    EnderchestOpened - enderchest opened
    NoteblockPlayed - noteblock played
    NoteblockTuned - noteblock tuned
    FlowerPotted - flower potted
    RecordPlayed - record played
    SleeptInBed - sleept in bed
    ShulkerBoxOpened - shulker box opened
    ItemDropped - defines amount of dropped items. If specific item is not defined, then total amount is used
    ItemPickups - defines amount of picked up items. If specific item is not defined, then total amount is used
    BlocksMined - defines amount of blocks mined. If specific block is not defined, then total amount is used
    ItemBreaks - defines amount of broken items. If specific item is not defined, then total amount is used
    ItemCrafts - defines amount of crafted items. If specific item is not defined, then total amount is used
    ItemsUsed - defines amount of item usage. like mining with pickaxe. If specific item is not defined, then total amount is used
    MonsterKills - defines amount of monster kills. If specific monster is not defined, then total amount is used
    KilledBy - defines amount of deaths by monster. If specific monster is not defined, then total amount is used​


    Default file example
    Code (Text):

    Newbie:
      Enabled: true
      DisplayName: "&2Newbie"
      DefaultRank: true
      AutoRankup: true
      NextRanks:
      - Branch1
      - Branch2
    Branch1:
      Enabled: true
      DisplayName: "&2Branch1"
      AutoRankup: true
      RankupConfirmation: true
      Votes: 5
      PermissionRequirement:
      - "cmi.command.fly:Fly"
      McMMORequirement:
      - "woodcutting:10"
      - "power:20"
      JobsRequirement:
      - "miner:10"
      - "totallevel:20"
      ItemRequirement:
      - "stone:10"
      - "stone:1:20"
      - "book:20"
      NextRanks:
      - Branch1Rank1
      MoneyCost: 100
      Commands:
      - "broadcast! &6[playerDisplayName] &eleveled up to Branch1 rank!"
      StatsRequirements:
      - "PlayTime:3600"
      - "travel:1000"
      - "MonsterKills:zombie:10"
      - "MonsterKills:slime:5"
      - "MonsterKills:wolf:5"
      - "AccountAge:1209600"
    Branch1Rank1:
      Enabled: true
      DisplayName: "&2Branch1Rank1"
      DefaultRank: false
      AutoRankup: true
      RankupConfirmation: false
      PermissionRequirement:
      - "cmi.command.heal:Heal"
      NextRanks:
      - Last
      MoneyCost: 300
      ExpCost: 350
      Commands:
      - "broadcast! &6[playerDisplayName] &eleveled up to Branch1Rank1 rank!"
      StatsRequirements:
      - "travel:10000"
      - "blocksmined:3000"
      - "blocksmined:diamond_ore:30"
      - "MonsterKills:1000"
      - "AccountAge:1209600"
      McMMORequirement:
      - "taming:10"
      - "unarmed:30"
    Branch2:
      Enabled: true
      DisplayName: "&2Branch2"
      AutoRankup: true
      RankupConfirmation: true
      MoneyCost: 150
      NextRanks:
      - Branch2Rank1
      Commands:
      - "broadcast! &6[playerDisplayName] &eleveled up to Branch2 rank!"
      PermissionRequirement:
      - "cmi.command.tp:Teleport"
      StatsRequirements:
      - "PlayTime:3600"
      - "travel:2000"
      - "MonsterKills:zombie:15"
      - "MonsterKills:slime:10"
    Branch2Rank1:
      Enabled: true
      DisplayName: "&2Branch2Rank1"
      AutoRankup: true
      RankupConfirmation: false
      MoneyCost: 100
      ExpCost: 150
      NextRanks:
      - Branch2Rank2
      Commands:
      - "broadcast! &6[playerDisplayName] &eleveled up to Branch1Rank1 rank!"
      StatsRequirements:
      - "PlayTime:4600"
      - "Swim:1000"
      - "SneakTime:180"
      - "MonsterKills:100"
    Branch2Rank2:
      Enabled: true
      DisplayName: "&2Branch2Rank2"
      AutoRankup: true
      RankupConfirmation: false
      MoneyCost: 100
      ExpCost: 150
      NextRanks:
      - Last
      Commands:
      - "broadcast! &6[playerDisplayName] &eleveled up to Branch2Rank2 rank!"
      StatsRequirements:
      - "walk:15000"
      - "HorseTravel:1000"
      - "ItemsUsed:10000"
      - "PlayerKills:10"
    Last:
      Enabled: true
      DisplayName: "&2Last"
      AutoRankup: true
      StatsRequirements:
      - "PlayTime:21600"
      - "walk:30000"
      - "MonsterKills:1000"
      - "blocksmined:30000"
      Commands:
      - "broadcast! &6[playerDisplayName] &eleveled up to Last rank!"
      - "cmi heal [playerName]"
      - "money give [playerName] 100"
  • Loading...
  • Loading...