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:
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)"| Elemento | Detalle |
|---|---|
| Operadores | + - * / % (resto) ^ (potencia) y paréntesis |
| Funciones | min(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) |
| Variables | Entre 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.02es +2%,1.0es +100%. - Las probabilidades (
chance,apply-chance,[chance=25]) son porcentajes de 0 a 100.
Costos
Los precios se escriben de cualquiera de estas formas:
cost: "tokens:250000"
cost:
- "tokens:250000"
- "gems:50"
cost:
money: 500000
tokens: 5000Cada id es una moneda de currencies.yml o uno de sus aliases. Un costo vacío es gratis.
Ítems como costo
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:
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.