yMinasPacketsPickaxes
Empréstimo e seleção de picareta ativa no yMinasPackets.
Visao Geral
O yMinasPacketsPickaxesAddon adiciona um sistema para emprestar a picareta de um jogador para outro e permitir que o jogador escolha qual fonte de picareta deseja usar ao minerar.
Este addon nao possui arquivo proprio em src/main/resources/addons. Ele usa configuracoes ja existentes em:
plugins/yMinasPackets/menus.yml
plugins/yMinasPackets/messages.yml
plugins/yMinasPackets/config.ymlAtivacao
O sistema so funciona quando o addon yMinasPacketsPickaxesAddon esta ativo no bootstrap.
No codigo, a verificacao e feita por:
BukkitBootstrap.isActivated("yMinasPacketsPickaxesAddon")Se o addon nao estiver ativo, os menus de emprestimo nao abrem e as funcoes de emprestimo retornam sem executar.
Permissao
Permissao para acessar e usar o sistema de emprestimo:
yminaspackets.pickaxe.loanO item do menu principal so aparece para jogadores com essa permissao.
Como Usar
- Instale o
yMinasPacketsPickaxesAddonjunto com o yMinasPackets. - Garanta que o jogador tenha
yminaspackets.pickaxe.loan. - Abra o menu principal da mina com
/mina. - Clique em
Empréstimo de Picareta. - Use
Emprestar Picaretapara digitar no chat o jogador que recebera a picareta. - Use
Revogar Empréstimopara cancelar um emprestimo ativo. - Use
Selecionar Picareta Ativapara escolher entre a propria picareta e picaretas emprestadas recebidas.
Fluxo do Emprestimo
O dono cria um emprestimo informando o jogador alvo pelo chat.
O alvo precisa estar online no momento da criacao.
Cada dono pode ter apenas um emprestimo ativo por vez.
Ao emprestar, o dono fica com uma picareta padrao dentro da mina enquanto a picareta real fica disponivel para o jogador emprestado.
O jogador que recebeu a picareta pode selecionar a fonte ativa no menu de selecao.
Ao revogar, os dados sao invalidados e as picaretas dos participantes sao atualizadas.
Menu Principal
O item aparece no menu principal em:
main:
items:
pickaxe-loan-slot: 24
pickaxe-loan:
material: 'DIAMOND_PICKAXE'
name: '&eEmpréstimo de Picareta'
lore:
- '&7Gerencie o empréstimo da sua'
- '&7picareta para outro jogador.'
- ''
- '&aClique para gerenciar.'Condicoes para aparecer:
- O addon
yMinasPacketsPickaxesAddonprecisa estar ativo. - O jogador precisa ter
yminaspackets.pickaxe.loan. pickaxe-loan-slotprecisa ser>= 0.
Menu de Configuracao
Secao:
pickaxe-loan-config:
name: '&8Empréstimo de Picareta'
size: 27
back-slot: 22
items:
status-slot: 11
lend-slot: 13
revoke-slot: 15
select-slot: 26status
Mostra o estado atual do emprestimo.
Placeholders:
| Placeholder | Descricao |
|---|---|
{status} | Ativo ou Inativo |
{borrower} | Jogador que recebeu a picareta |
{mine} | Mina vinculada ao emprestimo |
Exemplo:
status:
material: 'BOOK'
name: '&eStatus do Empréstimo'
lore:
- '&7Estado: {status}'
- '&7Jogador: &f{borrower}'lend
Abre a entrada por chat para informar o jogador que recebera a picareta.
lend:
material: 'EMERALD'
name: '&aEmprestar Picareta'revoke
Revoga o emprestimo ativo.
revoke:
material: 'REDSTONE'
name: '&cRevogar Empréstimo'revoke-disabled
Item exibido quando nao existe emprestimo ativo.
revoke-disabled:
material: 'COAL'
name: '&7Revogar Empréstimo'select
Abre o menu para selecionar a picareta ativa.
select:
material: 'COMPASS'
name: '&bSelecionar Picareta Ativa'Menu de Selecao de Picareta
Secao:
pickaxe-loan-select:
name: '&8Selecionar Picareta'
size: 36
back-slot: 31
slots: [10, 11, 12, 13, 14, 15, 16]Itens:
items:
self:
material: 'DIAMOND_PICKAXE'
name: '&aSua Picareta'
lore:
- '&7Origem: &f{owner}'
- '&7Estado: {selected}'
loan:
material: 'GOLD_PICKAXE'
name: '&ePicareta de {owner}'
lore:
- '&7Origem: &f{owner}'
- '&7Estado: {selected}'Placeholders:
| Placeholder | Descricao |
|---|---|
{owner} | Dono da picareta |
{mine} | Mina vinculada ao emprestimo |
{selected} | Selecionada ou Disponivel |
Fonte da Picareta Ativa
O sistema salva a fonte ativa no dado do jogador:
activePickaxeSourceValores usados:
| Valor | Significado |
|---|---|
self | Usa a propria picareta |
loan:<dono> | Usa a picareta emprestada pelo dono informado |
Se a fonte estiver vazia, o plugin assume self.
Regras do Sistema
O dono nao pode emprestar para si mesmo.
O alvo precisa estar online.
O dono nao pode criar outro emprestimo enquanto ja tiver um ativo.
Se a fonte loan:<dono> nao estiver mais disponivel, o menu informa que a fonte nao esta mais disponivel.
Quando o dono esta emprestando a picareta, dentro da mina ele recebe uma picareta padrao bloqueada para emprestimo.
Redis
O addon usa cache local por padrao.
Se redis.enabled estiver ativo e houver JedisPool, os emprestimos tambem sao gravados no Redis.
Chaves usadas internamente:
| Chave | Funcao |
|---|---|
yminaspackets:pickaxe_loan:owner:<owner> | Sessao ativa por dono |
yminaspackets:pickaxe_loan:borrower:set:<borrower> | Donos que emprestaram ao jogador |
Isso permite consultar emprestimos entre servidores quando o ambiente usa Redis.
Mensagens
As mensagens ficam em messages.yml dentro de chat.
digit-pickaxe-loan-borrower: |
&aDigite no chat o nome do jogador para emprestar sua picareta.
&7Para cancelar digite &ncancelar&7.
pickaxe-loan-created: '&aVocê emprestou sua picareta para &e{player}&a na mina &e{mine}&a. Enquanto estiver emprestada, você fica com a picareta padrão dentro da mina.'
pickaxe-loan-received: '&aVocê recebeu a picareta emprestada de &e{player}&a para minerar na mina &e{mine}&a.'
pickaxe-loan-revoked: '&aVocê revogou o empréstimo da picareta de &e{player}&a.'
pickaxe-loan-revoked-target: '&c{player} revogou o empréstimo da picareta.'
pickaxe-loan-none: '&cVocê não possui nenhum empréstimo de picareta ativo.'
pickaxe-loan-already-owner: '&cVocê já possui um empréstimo ativo. Revogue antes de criar outro.'
pickaxe-loan-already-borrower: '&cO jogador &e{player}&c já está usando uma picareta emprestada.'
pickaxe-loan-locked: '&cVocê está com a picareta emprestada para outro jogador. Revogue o empréstimo para upar/evoluir novamente.'
pickaxe-loan-select-applied: '&aFonte da picareta ativa atualizada com sucesso.'
pickaxe-loan-select-unavailable: '&cEsta fonte de picareta não está mais disponível.'Placeholders:
| Placeholder | Descricao |
|---|---|
{player} | Jogador alvo ou dono, dependendo da mensagem |
{mine} | Mina vinculada ao emprestimo |
Interacao com a Picareta Custom
O sistema usa o item de picareta configurado em config.yml:
pickaxe:
material: DIAMOND_PICKAXE
name: '&bPicareta &6[{blocks_broken}]'
lore:
- '&7Inquebrável ∞'
- '{enchants}'
- ''
- ' &fNível: &7{level}'
- ' &fEnergia: &7{energy}/{energy_next} &f({progressbar}&f)'Quando a mina usa customPickaxeEnabled, o plugin coloca a picareta no slot configurado:
items:
pickaxe-slot: 2NBT Interno
O sistema usa NBTs internos para proteger e identificar itens.
| NBT | Funcao |
|---|---|
yMinasPackets-Pickaxe | Identifica a picareta do sistema |
yMinasPackets-JoinItem | Identifica item entregue ao entrar na mina |
yMinasPackets-Pickaxe-LoanLocked | Identifica picareta padrao bloqueada quando o dono emprestou a real |
yMinasPackets-PickaxeSource | Fonte selecionavel no menu de selecao |
Nao edite esses valores manualmente.
Protecoes
Itens de picareta e itens internos nao podem ser dropados, coletados, movidos livremente no inventario ou cair ao morrer.
O plugin tambem bloqueia numero do hotbar dentro da mina quando generalNumkeys esta desativado na configuracao geral.
Problemas Comuns
O menu nao aparece
Verifique se o yMinasPacketsPickaxesAddon esta ativo e se o jogador tem yminaspackets.pickaxe.loan.
Nao consigo emprestar
Verifique se o alvo esta online, se voce nao esta tentando emprestar para si mesmo e se voce ja nao tem outro emprestimo ativo.
O jogador recebeu o emprestimo, mas nao usa a picareta
Ele precisa abrir Selecionar Picareta Ativa e selecionar a fonte Picareta de <dono>.
A fonte emprestada sumiu
O dono pode ter revogado o emprestimo ou o cache/Redis nao encontrou mais a sessao.
O dono nao consegue evoluir normalmente
Enquanto a picareta estiver emprestada, o dono fica com picareta padrao bloqueada. Revogue o emprestimo para voltar a usar a propria picareta.