LogoyStore

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: 10

Explicaçã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: 50

Resultado:

  • 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: 1

Fó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.4

Fó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 queda

Mú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

PlaceholderDescriçã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.

Nesta página