CPJiNan / AkariLevel

Advanced Level System for RPG Server
Creative Commons Zero v1.0 Universal
9 stars 4 forks source link

Feature Request: Support for Multiple Level Systems #5

Closed Zarkness closed 5 months ago

Zarkness commented 5 months ago

I would like to request a feature that allows the creation of multiple, distinct level systems within the plugin. Each level system should be able to have a unique name for easy differentiation and management. This feature would greatly enhance the flexibility and usability of the plugin, especially for servers with multiple game modes or role-specific level systems.

Proposed Functionality:

Multiple Level Systems:

Implement functionality to support the creation and management of multiple level systems. Each level system should be independent, with its own set of levels, experience requirements, and rewards.

Named Level Systems:

Allow each level system to be assigned a unique name. These names should be used for referencing and managing the level systems within configuration files and in-game commands.

In-Game Commands:

Introduce new or updated commands to interact with the different level systems. Commands should include options to specify which level system to interact with based on its name.

Benefits:

This feature will allow server administrators to create more complex and varied gameplay experiences by utilizing multiple, named level systems. It provides clear organization and separation of different leveling systems, reducing potential confusion and management overhead.

Zarkness commented 5 months ago

apart from the above add support in the level.yml support for & together with hex colors and gradients, since currently you have to use §, apart from the fact that if I think that level 20 only that level has condition I do not get the condition only for that level.

# English Language File Contributor: YangXiaoMian

# The changes you made in this file will not be applied to the plugin
# Please make modifications in AkariLevel/level.yml instead

#################################
#        Level  Settings        #
#################################

# For other language versions of the configuration files, please refer to the AkariLevel/lang/level folder in AkariLevel.jar
# Plugin Docs: https://cp-jinan.feishu.cn/wiki/space/7334558867143049220

# Max level
Max-Level: 100
# Key level settings
# Only modify the key levels, for non-key levels it will automatically read the information from the previous key level
Settings:
  # Level 0 settings
  0:
    # Level name
    # %level% -> Corresponding level
    Name: "§8Lv.§b0"
    # Experience required to reach this level (supports JavaScript)
    # %level% -> Corresponding level
    Exp: "0"
    # Conditions required to reach this level (supports Kether, each line must return true to level up)
    # Kether Actions https://kether.tabooproject.org/list.html
    # Condition:
    #   - "permission akarilevel.default"
    Condition: [ ]
    # Actions to perform after leveling up (supports Kether)
    #    Action:
    #      - command inline "give {{sender}} apple 1" as op
    Action: [ ]
  # Levels 1 - 49 (up to the next key level) settings
  1:
    Name: "§8Lv.§b%level%"
    Exp: "%level% * 5 + 100"
    Condition: [ ]
    Action:
      - title "§e§lLevel UP!"
      - subtitle inline "{{ papi %akarilevel_lastlevelname% }} §7→ {{ papi %akarilevel_levelname% }}" by 10 20 10
      - actionbar inline "§8[ §7{{ papi %akarilevel_exp% }} §8/ §7{{ papi %akarilevel_nextlevelexp% }} §8]"
  20:
    Name: "§8Lv.20"
    Exp: "%level% * 5 + 100"
    Condition:
      - "permission hello.level.12"
    Action:
      - title "§e§lLevel UP!"
      - subtitle inline "{{ papi %akarilevel_lastlevelname% }} §7→ {{ papi %akarilevel_levelname% }}" by 10 20 10
      - actionbar inline "§8[ §7{{ papi %akarilevel_exp% }} §8/ §7{{ papi %akarilevel_nextlevelexp% }} §8]"
  21:
    Name: "§8Lv.§b%level%"
    Exp: "%level% * 5 + 100"
    Condition: [ ]
    Action:
      - title "§e§lLevel UP!"
      - subtitle inline "{{ papi %akarilevel_lastlevelname% }} §7→ {{ papi %akarilevel_levelname% }}" by 10 20 10
      - actionbar inline "§8[ §7{{ papi %akarilevel_exp% }} §8/ §7{{ papi %akarilevel_nextlevelexp% }} §8]"
  # Levels 50 - 100 (max level) settings
  50:
    Name: "§8Lv.§b%level%"
    Exp: "%level% * 10 + 100"
    Condition: [ ]
    Action:
      - title "§e§lLevel UP!"
      - subtitle inline "{{ papi %akarilevel_lastlevelname% }} §7→ {{ papi %akarilevel_levelname% }}" by 10 20 10
      - actionbar inline "§8[ §7{{ papi %akarilevel_exp% }} §8/ §7{{ papi %akarilevel_nextlevelexp% }} §8]"
CPJiNan commented 5 months ago

Hello!

Thank you for your suggestion.

The Multiple Level Systems feature has been basically completed and will be released in version 4.0. Here is a snapshot of version 4.0 (currently available only in Simplified Chinese).

The English translation is in progress, but you can try it out in advance if you like.

Please note that the data structure of version 4.0 is significantly different from 3.x, so make sure to back up your previous player data before installation to prevent any data loss.