Docs

Fórmulas, costos y condiciones

Fórmulas

Casi todo número de configuración acepta una fórmula entre comillas. Así un mismo valor escala con el nivel sin escribir una tabla:

yaml
cost: "2500 * 1.18 ^ {level}"
duration-seconds: "10 + {level} * 4"
chance: "min(25, 0.05 + {level} * 0.0045)"
amount: "random(50, 150) * (1 + {level} / 20)"
ElementoDetalle
Operadores+ - * / % (resto) ^ (potencia) y paréntesis
Funcionesmin(a, b), max(a, b), floor(x), ceil(x), round(x), abs(x), sqrt(x), log(x) (base 10), ln(x), clamp(x, mín, máx), random(mín, máx)
VariablesEntre llaves. Cada opción dice cuáles tiene: {level}, {tier}, {pickaxe_level}, {intervals}, {blocks} y otras

Una fórmula con una variable que no existe usa 0 para esa variable.

Porcentajes y bonus

  • Los bonus de estadísticas son fracciones: 0.02 es +2%, 1.0 es +100%.
  • Las probabilidades (chance, apply-chance, [chance=25]) son porcentajes de 0 a 100.

Costos

Los precios se escriben de cualquiera de estas formas:

yaml
cost: "tokens:250000"

cost:
  - "tokens:250000"
  - "gems:50"

cost:
  money: 500000
  tokens: 5000

Cada id es una moneda de currencies.yml o uno de sus aliases. Un costo vacío es gratis.

Ítems como costo

yaml
cost:
  tokens: 5000
  items:
    - "DIAMOND:16"
    - material: NETHER_STAR
      amount: 1
      name: "&bEstrella del Jefe"

Con name, solo cuentan los ítems con ese nombre, así podés cobrar ítems de crates o de jefes. En formato de lista también vale "item DIAMOND 16".

El jugador ve el costo con el formato de cada moneda, y el pago es todo o nada: si falta algo, no se cobra nada.


Condiciones

Los menús (requirement, click-requirement, glow, [if ...] en el lore) comparan dos valores:

yaml
requirement: "{has_mine} = true"
glow: "{level} >= {max_level}"
lore:
  - "[if {next_cost} > 0] &7Costo: &e{next_cost}"

Operadores: =, !=, <, >, <=, >=. Si los dos lados son números se comparan como números; si no, como texto.


Tiempos

Los comandos que reciben tiempo aceptan segundos o unidades combinadas: 90, 30m, 1h30m, 2d.

Fórmulas, costos y condiciones | PulsePrison Core Docs