Skills
Configuração detalhada de skills
Skills
Cada skill possui seu próprio arquivo de configuração na pasta skills/. Este guia explica como configurar e criar skills.
Localização
As skills ficam em: plugins/ySkills/skills/
Estrutura de uma Skill
Exemplo completo do arquivo mining.yml:
# Identificação para API
yplugins-id: 'yskills-mining'
# Nome exibido nos menus e mensagens
display-name: '&eMineração'
# Nível máximo da skill
max-level: 100
# TAG para o TOP 1 (aparece no chat)
tag: '&9[⚒]'
# Sistema de ícones
icons:
# Ícone no menu principal
stat:
slot: 30
material: 'DIAMOND_PICKAXE'
name: '&eMineração'
flags: ['*']
lore:
- '&8&m------------------------'
- '&7Jogador: &f{player}'
- ''
- '&7Nível: &b{level}'
- '&7XP Atual: &a{xp}'
- '&7XP Necessário -> &fL. {next_level}&7: &c{need_xp}'
- ''
- '&7Bônus: &6{bonus_display}'
- '&7Multiplicador: &e+{bonus}%'
- '&8&m------------------------'
- '&eClique para ver as habilidades.'
# Ícone quando está no nível máximo
stat-max:
material: 'DIAMOND_PICKAXE'
name: '&eMineração'
flags: ['*']
lore:
- '&8&m------------------------'
- '&7Jogador: &f{player}'
- ''
- '&7Nível: &b{level}'
- '&aVocê está no nível máximo com {xp} xp!'
- ''
- '&7Bônus: &6{bonus_display}'
- '&7Multiplicador: &e+{bonus}%'
- '&8&m------------------------'
- '&eClique para ver as habilidades.'
# Ícone no menu de Frascos de XP
bottle:
slot: 21
material: 'DIAMOND_PICKAXE'
name: '&eMineração'
flags: ['*']
lore:
- ''
- '&7Seu nível: &f{level}'
- '&7XP atual: &f{xp}/{need_xp}'
- ''
- '&aClique para aplicar o XP!'
# Ícone no menu de TOP
top:
slot: 21
material: 'DIAMOND_PICKAXE'
name: '&eMineração'
flags: ['*']
lore:
- '&f1º: &7{player_1} &8- &7{level_1}'
- '&f2º: &7{player_2} &8- &7{level_2}'
- '&f3º: &7{player_3} &8- &7{level_3}'
- '&f4º: &7{player_4} &8- &7{level_4}'
- '&f5º: &7{player_5} &8- &7{level_5}'
- '&f6º: &7{player_6} &8- &7{level_6}'
- '&f7º: &7{player_7} &8- &7{level_7}'
- '&f8º: &7{player_8} &8- &7{level_8}'
- '&f9º: &7{player_9} &8- &7{level_9}'
- '&f10º: &7{player_10} &8- &7{level_10}'
- ''
- '&fSua posição: &a{self_pos}º &e- &7{self_level}'
# Ícone no menu de converter XP
convert:
slot: 21
material: 'DIAMOND_PICKAXE'
name: '&eMineração'
flags: ['*']
lore:
- '&8&m------------------------'
- '&7Nível: &f{level}'
- '&7XP: &f{xp}'
- '&8&m------------------------'
- '&eClique para converter XP!'
# Sistema de evolução por XP
xp:
# Fórmula: LINEAR, QUADRATIC, EXPONENTIAL
formula: QUADRATIC
# XP base
base: 100
# LINEAR: incremento por nível
increment: 50
# QUADRATIC: escala da fórmula
scale: 1
# EXPONENTIAL: multiplicador exponencial
multiplier: 1.4
xp-blacklist:
worlds: []
regions: []
# Formas de ganhar XP
xp-earn:
type1:
# Tipos: BLOCK_BREAK, MOB_KILL, FISHING, CRAFTING, SMELTING, ENCHANTING, BREWING, ACROBATICS
type: 'BLOCK_BREAK'
# Ferramentas permitidas (vazio = qualquer)
tools:
- 'WOODEN_PICKAXE'
- 'STONE_PICKAXE'
- 'IRON_PICKAXE'
- 'GOLDEN_PICKAXE'
- 'DIAMOND_PICKAXE'
- 'NETHERITE_PICKAXE'
# Lista de blocos e XP (MATERIAL:XP)
list:
- 'STONE:5'
- 'COAL_ORE:10'
- 'IRON_ORE:15'
- 'GOLD_ORE:20'
- 'DIAMOND_ORE:50'
- 'EMERALD_ORE:60'
- 'DEEPSLATE_DIAMOND_ORE:60'
- 'ANCIENT_DEBRIS:100'
# Actionbar ao ganhar XP
actionbar:
enabled: true
disabled-worlds: []
message: '&a{skill}: {level} ({xp_has} / {xp_need}) +{xp_earned}XP'
# Mensagem ao upar de nível
level-up:
enabled: true
level: 100 # A cada 100 níveis
strike: true # Raio no jogador
message: |
<nl>
&b&lSKILLS: &bO jogador &f{player}&b atingiu o &fnível {level} &bna habilidade &f{skill}&f!
<nl>
# Recompensas ao upar
rewards:
mining_lvl100:
level: 100
reward:
- 'give {player} diamond 10'
- 'give {player} emerald 5'
# Configuração de habilidades
abilities-config:
levels-per-ability-level: 10
# Habilidades desta skill
abilities:
double_drop:
level: 10 # Nível para desbloquear
max-level: 10 # Nível máximo da habilidade
super_breaker:
level: 25
max-level: 10
repair_mining:
level: 40
max-level: 10Explicação Detalhada
xp-blacklist
Bloqueia o ganho de XP da skill em mundos ou regiões específicas.
xp-blacklist:
worlds: []
regions: []worlds: mundos onde a skill não deve conceder XP.regions: regiões onde a skill não deve conceder XP.
Essa seção está disponível em todos os arquivos de skill, como mining.yml, swords.yml, fishing.yml e os demais arquivos da pasta skills/.
Fórmulas de XP
LINEAR
Crescimento simples e constante.
xp:
formula: LINEAR
base: 100
increment: 50Resultado:
- Nível 1→2: 150 XP
- Nível 2→3: 200 XP
- Nível 3→4: 250 XP
QUADRATIC (Recomendado)
Crescimento balanceado.
xp:
formula: QUADRATIC
base: 100
scale: 1Fórmula: XP = base * level² * scale
Resultado:
- Nível 1→2: 100 XP
- Nível 5→6: 2500 XP
- Nível 10→11: 10000 XP
EXPONENTIAL
Crescimento agressivo (difícil).
xp:
formula: EXPONENTIAL
base: 100
multiplier: 1.4Fórmula: XP = base * multiplier^(level - 1)
Resultado:
- Nível 1→2: 100 XP
- Nível 5→6: 384 XP
- Nível 10→11: 2100 XP
Tipos de XP Earn
BLOCK_BREAK
xp-earn:
type1:
type: 'BLOCK_BREAK'
tools:
- 'DIAMOND_PICKAXE'
list:
- 'DIAMOND_ORE:50'MOB_KILL
xp-earn:
type1:
type: 'MOB_KILL'
tools:
- 'DIAMOND_SWORD'
list:
- 'ZOMBIE:10'
- 'SKELETON:12'
- 'WITHER:150'FISHING
xp-earn:
type1:
type: 'FISHING'
tools: []
list:
- 'COD:10'
- 'SALMON:15'
- 'PUFFERFISH:20'BREWING
xp-earn:
type1:
type: 'BREWING'
tools: []
list:
- 'AWKWARD:10'
- 'NIGHT_VISION:20'
- 'STRENGTH:30'ACROBATICS
xp-earn:
type1:
type: 'ACROBATICS'
tools: []
list:
- 'FALL:5' # XP multiplicado pelo dano de quedaMúltiplas Formas de Ganhar XP
Você pode criar várias fontes de XP:
xp-earn:
blocos:
type: 'BLOCK_BREAK'
tools:
- 'DIAMOND_PICKAXE'
list:
- 'DIAMOND_ORE:50'
mobs:
type: 'MOB_KILL'
tools:
- 'DIAMOND_PICKAXE' # Sim, picareta mata mob!
list:
- 'SILVERFISH:5'Recompensas
rewards:
lvl_10:
level: 10
reward:
- 'give {player} iron_ingot 16'
- 'eco give {player} 1000'
lvl_50:
level: 50
reward:
- 'give {player} diamond 5'
- 'execute at {player} run particle minecraft:totem_of_undying ~ ~1 ~ 0.5 0.5 0.5 0.1 100'
lvl_100:
level: 100
reward:
- 'give {player} nether_star 1'
- 'broadcast &6{player} atingiu nível 100 em Mining!'Comandos de Recompensa
Use {player} para inserir o nome do jogador nos comandos de recompensa.
Criando uma Skill Personalizada
Exemplo de skill customizada custom.yml:
yplugins-id: 'yskills-custom'
display-name: '&dSkill Customizada'
max-level: 50
tag: '&d[★]'
icons:
stat:
slot: 50
material: 'NETHER_STAR'
name: '&dSkill Customizada'
flags: ['*']
lore:
- '&7Uma skill totalmente personalizada!'
- ''
- '&7Nível: &f{level}/{max_level}'
xp:
formula: QUADRATIC
base: 200
scale: 1.5
xp-earn:
custom_action:
type: 'CRAFTING'
tools: []
list:
- 'DIAMOND_BLOCK:100'
- 'NETHERITE_INGOT:500'
actionbar:
enabled: true
disabled-worlds: []
message: '&d{skill}: {level} +{xp_earned}XP'
level-up:
enabled: true
level: 10
strike: true
message: '&d{player} subiu para nível {level} na Skill Customizada!'
abilities-config:
levels-per-ability-level: 5
abilities: {}Adicionar ao Menu
Após criar uma skill personalizada, você também precisa adicionar o ícone dela no menus.yml na seção do menu principal.
Placeholders Disponíveis
| Placeholder | Descrição |
|---|---|
{player} | Nome do jogador |
{level} | Nível atual |
{max_level} | Nível máximo |
{xp} | XP atual (formatado) |
{xp_has} | XP atual |
{xp_need} | XP necessário para próximo nível |
{xp_earned} | XP ganho |
{next_level} | Próximo nível |
{skill} | Nome da skill |
{bonus} | Multiplicador de bônus |
{bonus_display} | Display do bônus |
{player_1} a {player_10} | Nomes no TOP |
{level_1} a {level_10} | Níveis no TOP |
{self_pos} | Posição do jogador no ranking |
{self_level} | Nível do jogador |
Aplicar Mudanças
Use /skills reload após modificar qualquer arquivo de skill.