Docs

Niveles

levels.yml define tracks de nivel independientes, tantos como quieras: nivel de jugador, maestría minera, nivel de evento. Cada track tiene su experiencia, su fórmula, sus fuentes y sus recompensas.

Configuraciónlevels.yml
Comando/levels (aliases /level, /lvl, /niveles)
Módulosiempre activo

Configuración

yaml
tracks:
  player:
    enabled: true
    name: "Player Level"
    color: "&b"
    max-level: 500
    permission: ""               # permiso para ganar experiencia, vacío = todos
    announce-level-up: true
    exp-multiplier: 1.0
    formula:
      type: exponential          # exponential, linear o polynomial
      base: 250
      growth: 1.08
      step: 100
    sources:
      blocks:
        default: 1               # experiencia por bloque minado
        materials:
          DIAMOND_ORE: 10
          EMERALD_ORE: 15
      currencies:
        tokens: 0.05             # experiencia por token ganado al minar
    rewards:
      levels:
        "10":
          - "[give] tokens 1000"
          - "[title] &b&lLEVEL 10;&7You earned 1,000 tokens"
        "50":
          - "[give] gems 25"
          - "[broadcast] &b{player} &7reached player level &f50&7!"
      every:
        "5":
          - "[give] shards 5"
          - "[sound] ENTITY_PLAYER_LEVELUP 1 1.2"

Fórmulas

Experiencia para pasar del nivel N al N+1:

TipoFórmulaUso
exponentialbase × growth ^ (N - 1)Cada nivel cuesta un porcentaje más
linearbase + step × (N - 1)Cada nivel cuesta lo mismo más un extra fijo
polynomialbase × N ^ growthCrecimiento suave, como el pico

Fuentes de experiencia

  • Bloques: sources.blocks.default y valores por material. Cuentan los bloques extra de encantamientos, bombas y taladros.
  • Monedas: sources.currencies da experiencia por cada unidad de moneda ganada al minar.
  • Encantamientos propios: el efecto level-exp.
  • Acciones: [exp] <track> <cantidad> desde cualquier recompensa.
  • Comando: /levels give.

La experiencia se multiplica por exp-multiplier y por las estadísticas level-exp y level-exp:<track>.

Recompensas

  • rewards.levels: acciones al llegar a un nivel exacto.
  • rewards.every: acciones cada N niveles.

Placeholders: {player}, {level}, {track} y {track_name}. Si se ganan varios niveles de una vez, se ejecutan las recompensas de cada uno.

Comandos

ComandoPermisoHace
/levels [jugador]todosNivel y progreso en cada track
/levels top [track]todosRanking
/levels give <jugador> <track> <cantidad>pulseprison.levels.adminDa experiencia
/levels set <jugador> <track> <nivel>pulseprison.levels.adminFija un nivel
/levels reloadpulseprison.levels.adminRecarga levels.yml

Placeholders

PlaceholderDevuelve
%pulseprison_level_<track>%Nivel
%pulseprison_level_<track>_exp%Experiencia actual
%pulseprison_level_<track>_required%Experiencia para el siguiente
%pulseprison_level_<track>_progress%Porcentaje
%pulseprison_level_<track>_bar%Barra de progreso
%pulseprison_level_<track>_max%Nivel máximo
%pulseprison_level_<track>_name%Nombre con color

Los logros pueden pedir niveles con type: level:<track>. Evento para addons: PlayerLevelUpEvent.

Niveles | PulsePrison Core Docs