yMinasPacketsPublica
Sistema de minas públicas para o yMinasPackets.
Visao Geral
O yMinasPacketsPublicaAddon permite que jogadores tornem suas minas publicas para outros jogadores visitarem e minerarem. O dono pode definir taxa de uso e limite de visitantes.
Este addon nao possui arquivo proprio em src/main/resources/addons. Ele usa configuracoes ja existentes em:
plugins/yMinasPackets/config.yml
plugins/yMinasPackets/menus.yml
plugins/yMinasPackets/messages.ymlAtivacao
O sistema so funciona quando o addon yMinasPacketsPublicaAddon esta ativo no bootstrap.
No codigo, a verificacao e feita por:
BukkitBootstrap.isActivated("yMinasPacketsPublicaAddon")Se o addon nao estiver ativo, os botoes de minas publicas nao aparecem e os menus relacionados nao sao acessados pelo menu principal.
Permissoes
Ativar e gerenciar a propria mina publica
yminaspackets.publicmineSem essa permissao, o jogador nao consegue manter a mina publica ativada. Ao carregar os dados do jogador, se ele nao tiver essa permissao, o plugin desativa a mina publica dele.
Entrar em uma mina publica
yminaspackets.go.publicmineNecessaria para clicar em uma mina publica e entrar nela.
Como Usar
Dono da mina
- Instale o
yMinasPacketsPublicaAddonjunto com o yMinasPackets. - Dê
yminaspackets.publicmineao jogador dono. - O dono entra na propria mina.
- Abre
/mina. - Clica em
Configurar Mina Pública. - Ativa a mina publica.
- Define a taxa e o limite de visitantes, se quiser.
Visitante
- Recebe
yminaspackets.go.publicmine. - Abre
/minafora de uma mina. - Clica em
Minas Públicas. - Escolhe uma mina disponivel.
Configuracao Principal
Arquivo:
config.ymlSecao:
public-mine:
max-users-limit: 10max-users-limit
Limite maximo de vagas que o dono pode configurar para a propria mina publica.
max-users-limit: 10Valores:
| Valor | Comportamento |
|---|---|
0 | Sem limite global configurado |
> 0 | Maximo permitido para o campo de visitantes |
Quando o dono ativa a mina publica e o limite global e maior que 0, o plugin ajusta publicMineMaxUsers para nao passar desse limite.
Menu Principal
Os botoes ficam em menus.yml > main.items.
main:
items:
public-mines-slot: 21
public-mine-config-slot: 21Minas Publicas
public-mines:
material: 'ENDER_CHEST'
name: '&eMinas Públicas'
lore:
- '&7Veja as minas públicas'
- '&7disponíveis para visitar.'
- ''
- '&aClique para visualizar.'Esse item aparece quando:
- O addon
yMinasPacketsPublicaAddonesta ativo. - O jogador nao esta dentro de uma mina.
public-mines-slote>= 0.
Configurar Mina Publica
public-mine-config:
material: 'SIGN'
name: '&eConfigurar Mina Pública'
lore:
- '&7Configure sua mina para'
- '&7que outros jogadores possam'
- '&7usá-la pagando uma taxa.'Esse item aparece quando:
- O addon
yMinasPacketsPublicaAddonesta ativo. - O jogador esta em uma sessao que pode gerenciar a mina atual.
public-mine-config-slote>= 0.
Menu de Lista de Minas Publicas
Secao:
public-mines:
name: '&8Minas Públicas'
size: 54
slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43]
previous-slot: 9
next-slot: 17
back-slot: 18Cada mina publica usa o icone da propria mina e o template:
item:
name: '&eMina de &f{player}'
lore:
- '&7Mina: &f{mine}'
- '&7Taxa: &e{tax}%'
- '&7Vagas: &f{slots}'
- '&7Status: {status}'
- ''
- '&aClique para ir até esta mina.'Placeholders:
| Placeholder | Descricao |
|---|---|
{player} | Dono da mina publica |
{mine} | Nome display da mina |
{tax} | Taxa cobrada pelo dono |
{slots} | Vagas atuais/maximas ou Ilimitado |
{status} | Disponivel ou Lotada |
Item Vazio
Quando nao ha minas publicas disponiveis:
items:
empty-slot: 22
empty:
material: 'WEB'
name: '&eVazio...'
lore: [ '&7Não há minas públicas', '&7disponíveis no momento.' ]Menu de Configuracao da Mina Publica
Secao:
public-mine-config:
name: '&8Configurar Mina Pública'
size: 27
back-slot: 22
items:
toggle-slot: 11
tax-slot: 13
max-users-slot: 15Toggle Ativado
toggle-enabled:
material: '924757bc9a3171f9d0fdfbd209ac42e15f7744eb5f2db31920ff8af8d94567c6'
name: '&aMina Pública Ativada'
lore:
- '&7Status: {status}'
- '&7Visitantes atuais: &f{visitors}'
- ''
- '&cClique para desativar.'Toggle Desativado
toggle-disabled:
material: '5fde3bfce2d8cb724de8556e5ec21b7f15f584684ab785214add164be7624b'
name: '&cMina Pública Desativada'
lore:
- '&7Status: {status}'
- ''
- '&aClique para ativar.'Placeholders:
| Placeholder | Descricao |
|---|---|
{status} | Ativada ou Desativada |
{visitors} | Visitantes atuais na mina publica |
Taxa de Uso
tax:
material: 'GOLD_NUGGET'
name: '&eTaxa de Uso'
lore:
- '&7Taxa atual: &e{tax}%'
- ''
- '&7Esta porcentagem dos ganhos'
- '&7do visitante será sua.'
- ''
- '&aClique para alterar.'Placeholder:
| Placeholder | Descricao |
|---|---|
{tax} | Taxa atual de uso da mina publica |
Ao clicar, o jogador digita no chat a porcentagem de 0 a 100.
Maximo de Visitantes
O menu carrega tambem o item max-users em public-mine-config.items.max-users.
Placeholders aceitos pelo codigo:
| Placeholder | Descricao |
|---|---|
{max_users} | Limite de visitantes ou Ilimitado |
Ao clicar, o jogador digita no chat o maximo de visitantes.
Regras:
0significa ilimitado quandopublic-mine.max-users-limitpermite.- Valores negativos sao invalidos.
- Se
max-users-limit > 0, o valor nao pode passar desse limite.
Dados Salvos no PlayerMine
O sistema salva informacoes no dado do jogador dono:
| Campo | Funcao |
|---|---|
publicMineEnabled | Define se a mina publica esta ativa |
publicMineKey | Mina publicada pelo jogador |
publicMineTax | Taxa cobrada dos visitantes |
publicMineMaxUsers | Maximo de visitantes simultaneos |
Sessao de Visitante
Visitantes publicos sao rastreados em memoria por:
visitor -> ownerO mapa interno e limpo quando o jogador sai da mina ou quando o sistema limpa visitantes.
Quando um jogador entra em uma mina publica:
- Ele e registrado como visitante publico.
- O plugin remove marcacao de visitante de amigo, se houver.
- O dono efetivo da mina passa a ser o dono da publica.
- O visitante nao pode gerenciar a mina.
Taxa da Mina Publica
O utilitario calcula a taxa com duas funcoes internas:
valor-do-visitante = valor-original * (1 - taxa / 100)
valor-do-dono = valor-original * (taxa / 100)Exemplos:
| Taxa | Visitante recebe | Dono recebe |
|---|---|---|
0% | 100% | 0% |
10% | 90% | 10% |
50% | 50% | 50% |
100% | 0% | 100% |
Mensagens
As mensagens ficam em messages.yml > chat.
public-mine-offline: '&cEsta mina pública não está mais disponível.'
public-mine-already: '&cVocê já está em uma mina! Saia primeiro com /mina sair'
public-mine-full: '&cEsta mina pública está lotada!'
public-mine-access: '&aVocê entrou na mina pública de &e{player}&a! Taxa: &e{tax}%'
public-mine-enabled: '&aSua mina &e{mine} &afoi definida como pública!'
public-mine-disabled: '&cSua mina pública foi &cdesativada&c!'
public-mine-tax-set: '&aVocê definiu a taxa da sua mina pública para &e{tax}%&a.'
public-mine-max-users-set: '&aVocê definiu o máximo de visitantes para &e{max}&a.'
digit-public-mine-tax: |
&aDigite a porcentagem de taxa (0-100) que deseja cobrar.
&7para cancelar digite &ncancelar&7.
digit-public-mine-max-users: |
&aDigite o número máximo de visitantes (0 = ilimitado).
&7para cancelar digite &ncancelar&7.
public-mine-invalid-tax: '&cA taxa deve ser entre 0 e 100.'
public-mine-invalid-max-users: '&cO número de visitantes deve ser maior que 0 (ou 0 para ilimitado).'
public-mine-max-users-limit: '&cVocê não pode definir mais de &e{limit} &cvagas. Você tentou definir &e{max}&c.'Placeholders:
| Placeholder | Descricao |
|---|---|
{player} | Dono da mina publica |
{mine} | Nome display da mina |
{tax} | Taxa configurada |
{max} | Maximo digitado/configurado |
{limit} | Limite global de vagas |
NBT Interno
O menu de lista marca cada item de mina publica com NBT:
| NBT | Funcao |
|---|---|
yMinasPackets-PublicMine | Dono da mina publica |
yMinasPackets-Mine | ID da mina publicada |
Esses valores sao usados para validar o clique no menu.
Validacoes ao Entrar
Ao clicar em uma mina publica, o plugin valida:
- O item clicado possui NBT de mina publica.
- A mina ainda existe.
- O dono ainda tem a mina publica ativa.
- A mina publicada ainda corresponde a
publicMineKeydo dono. - O visitante tem
yminaspackets.go.publicmine. - O visitante nao esta em outra mina.
- A mina ainda possui vagas disponiveis.
Problemas Comuns
O botao de minas publicas nao aparece
Verifique se o yMinasPacketsPublicaAddon esta ativo, se o jogador esta fora de uma mina e se public-mines-slot e >= 0.
O botao de configurar nao aparece
O jogador precisa estar em uma mina que ele pode gerenciar. Visitantes publicos ou amigos nao podem configurar a mina.
A mina publica desativa sozinha
O plugin desativa publicMineEnabled ao carregar o jogador se ele nao tiver yminaspackets.publicmine.
O jogador nao consegue entrar
Verifique yminaspackets.go.publicmine, se ele ja esta em uma mina e se a mina publica nao esta lotada.
O limite de visitantes nao aceita 0
Se public-mine.max-users-limit for maior que 0, o codigo exige valor minimo 1 e limita ao maximo configurado.
A mina aparece lotada
O contador usa visitantes atuais registrados para o dono. Confira se jogadores sairam corretamente da mina e se o limite configurado nao esta baixo demais.