Empregos e Turnos
Configure os empregos e turnos carregados pela pasta jobs.
Os empregos/turnos são carregados a partir da pasta jobs/. Cada arquivo .yml dentro dessa pasta representa um turno configurável.
Para criar um novo turno, crie um novo arquivo .yml dentro da pasta jobs/ seguindo a mesma estrutura dos exemplos abaixo.
Estrutura principal
| Campo | Descrição |
|---|---|
name | Nome exibido em menus, mensagens e placeholders. |
category | Categoria exibida no menu inicial. Deve existir em menus.yml -> category-menu.categories. |
profession | Profissão livre configurada por YAML. |
profession-xp | XP entregue ao concluir o turno. |
required-profession-xp | XP necessário na profissão para entrar. |
icon | Ícone usado nos menus turn-list e turn-detail. |
detail-icon | Ícone central do menu de detalhes do turno. |
permission | Permissão extra para entrar no turno. |
duration | Duração do turno. |
player-limit | Limite de jogadores simultâneos. Use 0 para ilimitado. |
cooldown | Tempo para entrar novamente após concluir, falhar ou abandonar. |
entry-times | Horários em que jogadores podem entrar no turno. |
bonus | Bônus aplicado enquanto o jogador está no turno. |
requirements | Requisitos para entrar no turno. |
active-effects | Efeitos aplicados enquanto o jogador está no turno. |
start-commands | Comandos executados pelo console ao entrar. |
end-commands | Comandos executados pelo console ao sair, concluir, falhar ou desconectar. |
anti-abuse | Proteções contra abuso no progresso. |
objective | Objetivos necessários para concluir o turno. |
reward | Recompensas entregues ao concluir o turno. |
penalty | Penalidade ao abandonar ou desconectar durante o turno. |
Exemplo miner.yml
# Nome exibido em menus, mensagens e placeholders.
name: '&bTurno de Minerador'
# Categoria exibida no menu inicial em menus.yml -> category-menu.categories.
category: 'mineracao'
# Profissão livre configurada por YAML.
# O jogador ganha profession-xp ao concluir este turno.
# required-profession-xp define quanto XP nesta profissão o jogador precisa ter para entrar.
profession: 'minerador'
profession-xp: 10
required-profession-xp: 0
# Ícone usado nos menus turn-list e turn-detail.
# Placeholders: {id}, {turn}, {duration}, {players}, {limit}, {cooldown}, {objectives}, {multiplier},
# {category}, {profession}, {profession_xp}, {player_profession_xp}, {required_profession_xp}, {global},
# {requirement_money}, {requirement_completed}, {requirement_profession_xp}, {requirement_item}, {requirement_worlds}.
icon:
material: 'DIAMOND_PICKAXE'
name: '&6&l{turn}'
flags: ['*']
lore:
- ''
- ' &7Duração: &f{duration}'
- ' &7Jogadores: &c{players}&7/&a{limit}'
- ' &7Cooldown: &b{cooldown}'
- ' &7Objetivos: &f{objectives}'
- ' &7Bônus: &ax{multiplier}'
- ' &7Profissão: &f{profession}'
- ' &7Seu XP: &b{player_profession_xp}&7/&e{required_profession_xp}'
- ''
- ' &7Horários:'
- ' &f-> &adas 08:00 às 12:00'
- ' &f-> &adas 18:00 às 23:59'
- ''
- ' &eClique para ver detalhes.'
- ''
# Ícone usado no item central do menu turn-detail.
# Além dos placeholders do icon:, aceita placeholders por objetivo:
# {objective_name}, {objective_current}, {objective_amount}, {objective_percent}, {objective_bar}.
detail-icon:
material: 'DIAMOND_PICKAXE'
name: '&6&lDetalhes do {turn}'
flags: ['*']
lore:
- ''
- ' &7Duração: &f{duration}'
- ' &7Jogadores: &c{players}&7/&a{limit}'
- ' &7Cooldown: &b{cooldown}'
- ''
- ' &7Objetivos:'
- ' &f-> &e{objective_name}: &f{objective_current}&7/&f{objective_amount} &8[{objective_bar}&8] &e{objective_percent}%'
- ''
- ' &7Bônus: &ax{multiplier}'
- ' &7Profissão: &f{profession} &8(+{profession_xp} XP)'
- ' &7Seu XP: &b{player_profession_xp}&7/&e{required_profession_xp}'
- ' &7Global aberto: &f{global}'
- ''
- ' &7Requisitos:'
- ' &f-> &7Dinheiro: &a{requirement_money}'
- ' &f-> &7Turnos concluídos: &a{requirement_completed}'
- ' &f-> &7XP de profissão: &a{player_profession_xp}&7/&e{required_profession_xp}'
- ' &f-> &7Item: &cNenhum'
- ' &f-> &7Mundos: &cNenhum'
- ''
- ' &7Horários de entrada:'
- ' &f-> &aSempre Aberto'
- ''
# Permissão extra para entrar neste turno.
# Deixe vazio para permitir qualquer jogador com yempregos.use.
permission: ''
# Duração do turno.
# Formatos aceitos: 30s, 30m, 1h, 1h30m, 1d.
duration: '30m'
# Limite de jogadores simultaneos neste turno.
# Use 0 para ilimitado.
player-limit: 10
# Tempo para o jogador poder entrar novamente após concluir, falhar ou abandonar.
cooldown: '1h'
# Horários em que jogadores podem ENTRAR neste turno.
# Quem já estiver no turno continua até concluir, abandonar ou expirar.
entry-times:
# Se false, jogadores podem entrar a qualquer horário.
enabled: false
# Formato 24h: HH:mm-HH:mm.
# Também aceita janelas que passam da meia-noite, exemplo: 22:00-02:00.
times:
- '08:00-12:00'
- '18:00-23:59'
# Bônus aplicado enquanto o jogador está neste turno.
bonus:
# Tipos validos: NONE, MINING_DROPS, FISHING_DROPS, WOODCUTTING_DROPS, HUNTING_DROPS, FARMING_DROPS.
type: MINING_DROPS
# Multiplicador dos drops. 1.5 = 50% a mais em média.
multiplier: 1.5
# Requisitos para entrar no turno.
requirements:
# Dinheiro necessário para entrar. Usa Vault se houver economia registrada.
money: 0
# Quantidade total de turnos concluídos necessária.
completed-turns: 0
# XP necessário na profissão configurada em profession:.
profession-xp: 0
# Lista de mundos onde é permitido entrar. Deixe [] para permitir todos.
worlds: []
# Item necessário no inventário para entrar.
item:
# Se false, ignora o requisito de item.
enabled: false
# Material necessário.
material: 'DIAMOND_PICKAXE'
# Quantidade necessária.
amount: 1
# Efeitos e comandos aplicados enquanto o jogador está no turno.
# active-effects usa FORMATO: EFEITO:AMPLIFICADOR. Exemplo: FAST_DIGGING:1.
active-effects:
- 'FAST_DIGGING:1'
# Comandos executados pelo console ao entrar. Placeholders: {player}, {turn}, {duration_seconds}.
start-commands: []
# Comandos executados pelo console ao sair, concluir, falhar ou desconectar.
end-commands: []
# Proteções contra abuso no progresso.
anti-abuse:
# Se preenchido, só conta progresso nesses mundos.
allowed-worlds: []
# Mundos onde progresso nunca será contado.
blocked-worlds: []
# Se false, blocos colocados por jogadores não contam progresso.
count-player-placed-blocks: true
# Cooldown por objetivo para somar progresso. Use 0s para desativar.
objective-cooldown: '0s'
# Objetivos necessários para concluir o turno.
objective:
types:
stone:
# Nome exibido em mensagens, placeholders e lore dos menus.
display-name: 'Quebrar Pedras'
# Tipos válidos: BREAK_BLOCK, FISH, KILL_MOB, KILL_PLAYER, HARVEST_CROP,
# YMINAS, YMINASPACKETS, YPESCA, YCAMPO, YPLANTACOES, YFLORESTA.
type: BREAK_BLOCK
# Lista de materiais aceitos. Deixe [] para aceitar qualquer material compatível com o tipo.
white-list: [ 'STONE:0', 'COBBLESTONE:0' ]
# Quantidade necessária para completar este objetivo.
amount: 50
# Recompensas entregues ao concluir o turno.
# Formato: 'chance,rewardId', onde rewardId vem do rewards.yml.
reward:
- '100.0,reward1'
# Penalidade ao abandonar o turno com /turno sair ou desconectar.
penalty:
# Se true, executa os comandos abaixo.
enabled: true
# Placeholders disponíveis: {player}, {turn}.
commands:
- 'money remove {player} 100'Exemplo fisherman.yml
# Nome exibido em menus, mensagens e placeholders.
name: '&bTurno de Pescador'
# Categoria exibida no menu inicial em menus.yml -> category-menu.categories.
category: 'pesca'
# Profissão livre configurada por YAML.
# O jogador ganha profession-xp ao concluir este turno.
# required-profession-xp define quanto XP nesta profissão o jogador precisa ter para entrar.
profession: 'pescador'
profession-xp: 10
required-profession-xp: 0
# Ícone usado nos menus turn-list e turn-detail.
# Placeholders: {id}, {turn}, {duration}, {players}, {limit}, {cooldown}, {objectives}, {multiplier},
# {category}, {profession}, {profession_xp}, {player_profession_xp}, {required_profession_xp}, {global},
# {requirement_money}, {requirement_completed}, {requirement_profession_xp}, {requirement_item}, {requirement_worlds}.
icon:
material: 'FISHING_ROD'
name: '&6&l{turn}'
lore:
- ''
- ' &7Duração: &f{duration}'
- ' &7Jogadores: &c{players}&7/&a{limit}'
- ' &7Cooldown: &b{cooldown}'
- ' &7Objetivos: &f{objectives}'
- ' &7Bônus: &ax{multiplier}'
- ' &7Profissão: &f{profession}'
- ' &7Seu XP: &b{player_profession_xp}&7/&e{required_profession_xp}'
- ''
- ' &7Horários:'
- ' &f-> &adas 06:00 às 10:00'
- ' &f-> &adas 14:00 às 18:00'
- ''
- ' &eClique para ver detalhes.'
- ''
# Ícone usado no item central do menu turn-detail.
# Além dos placeholders do icon:, aceita placeholders por objetivo:
# {objective_name}, {objective_current}, {objective_amount}, {objective_percent}, {objective_bar}.
detail-icon:
material: 'FISHING_ROD'
name: '&6&lDetalhes do {turn}'
lore:
- ''
- ' &7Duração: &f{duration}'
- ' &7Jogadores: &c{players}&7/&a{limit}'
- ' &7Cooldown: &b{cooldown}'
- ''
- ' &7Objetivos:'
- ' &f-> &e{objective_name}: &f{objective_current}&7/&f{objective_amount} &8[{objective_bar}&8] &e{objective_percent}%'
- ''
- ' &7Bônus: &ax{multiplier}'
- ' &7Profissão: &f{profession} &8(+{profession_xp} XP)'
- ' &7Seu XP: &b{player_profession_xp}&7/&e{required_profession_xp}'
- ' &7Global aberto: &f{global}'
- ''
- ' &7Requisitos:'
- ' &f-> &7Dinheiro: &a{requirement_money}'
- ' &f-> &7Turnos concluídos: &a{requirement_completed}'
- ' &f-> &7XP de profissão: &a{player_profession_xp}&7/&e{required_profession_xp}'
- ' &f-> &7Item: &cNenhum'
- ' &f-> &7Mundos: &cNenhum'
- ''
- ' &7Horários de entrada:'
- ' &f-> &adas 06:00 às 10:00'
- ' &f-> &adas 14:00 às 18:00'
- ''
# Permissão extra para entrar neste turno.
# Deixe vazio para permitir qualquer jogador com yempregos.use.
permission: ''
# Duração do turno.
# Formatos aceitos: 30s, 30m, 1h, 1h30m, 1d.
duration: '20m'
# Limite de jogadores simultaneos neste turno.
# Use 0 para ilimitado.
player-limit: 8
# Tempo para o jogador poder entrar novamente após concluir, falhar ou abandonar.
cooldown: '45m'
# Horários em que jogadores podem ENTRAR neste turno.
# Quem já estiver no turno continua até concluir, abandonar ou expirar.
entry-times:
# Se false, jogadores podem entrar a qualquer horário.
enabled: true
# Formato 24h: HH:mm-HH:mm.
# Também aceita janelas que passam da meia-noite, exemplo: 22:00-02:00.
times:
- '06:00-10:00'
- '14:00-18:00'
# Bônus aplicado enquanto o jogador está neste turno.
bonus:
# Tipos validos: NONE, MINING_DROPS, FISHING_DROPS, WOODCUTTING_DROPS, HUNTING_DROPS, FARMING_DROPS.
type: FISHING_DROPS
# Multiplicador dos drops. 1.25 = 25% a mais em média.
multiplier: 1.25
# Requisitos para entrar no turno.
requirements:
# Dinheiro necessário para entrar. Usa Vault se houver economia registrada.
money: 0
# Quantidade total de turnos concluídos necessária.
completed-turns: 0
# XP necessário na profissão configurada em profession:.
profession-xp: 0
# Lista de mundos onde é permitido entrar. Deixe [] para permitir todos.
worlds: []
# Item necessário no inventário para entrar.
item:
# Se false, ignora o requisito de item.
enabled: false
# Material necessário.
material: 'FISHING_ROD'
# Quantidade necessária.
amount: 1
# Efeitos e comandos aplicados enquanto o jogador está no turno.
# active-effects usa FORMATO: EFEITO:AMPLIFICADOR. Exemplo: SPEED:1.
active-effects: []
# Comandos executados pelo console ao entrar. Placeholders: {player}, {turn}, {duration_seconds}.
start-commands: []
# Comandos executados pelo console ao sair, concluir, falhar ou desconectar.
end-commands: []
# Proteções contra abuso no progresso.
anti-abuse:
# Se preenchido, só conta progresso nesses mundos.
allowed-worlds: []
# Mundos onde progresso nunca será contado.
blocked-worlds: []
# Se false, blocos colocados por jogadores não contam progresso.
count-player-placed-blocks: true
# Cooldown por objetivo para somar progresso. Use 0s para desativar.
objective-cooldown: '0s'
# Objetivos necessários para concluir o turno.
objective:
types:
fish:
# Nome exibido em mensagens, placeholders e lore dos menus.
display-name: 'Pescar Peixes'
# Tipos válidos: BREAK_BLOCK, FISH, KILL_MOB, KILL_PLAYER, HARVEST_CROP,
# YMINAS, YMINASPACKETS, YPESCA, YCAMPO, YPLANTACOES, YFLORESTA.
type: FISH
# Para pesca, deixe vazio para aceitar qualquer captura.
white-list: []
# Quantidade de peixes/capturas necessaria.
amount: 50
# Recompensas entregues ao concluir o turno.
# Formato: 'chance,rewardId', onde rewardId vem do rewards.yml.
reward:
- '100.0,reward1'
# Penalidade ao abandonar o turno com /turno sair ou desconectar.
penalty:
# Se true, executa os comandos abaixo.
enabled: false
# Placeholders disponíveis: {player}, {turn}.
commands: []Observações
Os campos start-commands, end-commands e penalty.commands executam comandos pelo console e aceitam os placeholders documentados na página de placeholders.
As recompensas seguem o formato chance,rewardId, onde rewardId deve existir em rewards.yml.