Adding a new badge

  • Views Views: 70
  • Last updated Last updated:
  • Minecraft Middle Earth is a Minecraft community that recreates the world described by JRR Tolkien and his writings. Everyone can participate in organized events in which we collaborate to create major landmarks, terrain, caves, castles, towns, farms and more.

    To get started, visit The New Player Guide
  • Create badge

    Create a group in which the permission will go for the badge, for example
    Code:
    /lp creategroup badge_tours
    Add a suffix to make it appear at the end of the username
    Code:
    /lp group badge_tours meta addsuffix &cT
    Setup support multiple suffixes

    Create a track only for the badge
    Code:
    /lp createtrack tr_badge_tours
    Add the Tour badge permissions group into the track
    Code:
    /lp track append badge_tours
    We have to adjust the configuration files for LuckPerms in order for it to know how to handle badge suffixes in chat.
    For each badge track created, you have to add highest_on_track_ to in the format block.
    In the LuckPerms config file, go to the part:
    Code:

    meta-formatting:
    prefix:
    format:
    - "highest"
    start-spacer: ""
    middle-spacer: " "
    end-spacer: ""
    suffix:
    format:
    - "highest_on_track_badge_artist"
    - "highest_on_track_badge_guide"
    - "highest_on_track_badge_we"
    - "highest"
    start-spacer: ""
    middle-spacer: " "
    end-spacer: ""
    For the Venturechat chat formatting, go to the venturechat config file and verify that:
    Code:

    channels:
    Global:
    color: green
    chatcolor: gray
    mutable: true
    filter: true
    autojoin: true
    default: true
    distance: 0
    cooldown: 0
    bungeecord: false
    alias: g
    permissions: None
    format: '{prefix} {nickname} {suffix} &2: '
    irc: false
    Create command aliases
    This could be made more robust, but making aliases in the Commands.yml file will work as well.
    For each badge, a command will have to be added to take and grant a badge to a user:
    Code:
      grant_voxel:
    - lp user $$1 parent add badge_voxel
    grant_worldeditfull:
    - lp user $$1 parent add badge_worldeditfull
    grant_worldeditlimited:
    - lp user $$1 parent add badge_worldeditlimited
    grant_minigames:
    - lp user $$1 parent add badge_minigames
    grant_tours:
    - lp user $$1 parent add badge_tours
    take_voxel:
    - lp user $$1 parent remove badge_voxel
    take_worldeditfull:
    - lp user $$1 parent remove badge_worldeditfull
    take_worldeditlimited:
    - lp user $$1 parent remove badge_worldeditlimited
    take_minigames:
    - lp user $$1 parent remove badge_minigames
    Setting the permissions for the rank that can give the badges
    Now in order to give the badges, permissions have to be set as well. In this case we are going to give the tours badge to the headguide.

    Allow the rank to set a user parent (only has to be done once)
    Code:
    /lp group headguide permission set luckperms.user.parent.add true
    Allow the rank to set a user parent to default. This basically allows the take command to reset a user to the default rank, removing all other parent ranks and only adding the default rank. (only has to be done once)
    Code:
    /lp group headguide permission set luckperms.user.parent.add.default true
    Allow the Head Guide rank to give a specific badge (has to be done for every badge)
    Code:
    /lp group headguide permission set luckperms.user.parent.add.tours true
    Allow the Head Guide rank to modify other people's parent (because of the extensive permission system, this is needed. Only has to be done once)
    Code:
    /lp group headguide permission set luckperms.user.parent.add.modify.others true
    Allow the Head Guide rank to use the global context (server wide) when setting a parent
    Code:
    /lp group headguide permission set luckperms.user.parent.add.usecontext.global true