LogoyStore

yMinasPacketsPublica

Sistema de minas públicas para o yMinasPackets.

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.yml

Ativacao

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.publicmine

Sem 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.publicmine

Necessaria para clicar em uma mina publica e entrar nela.

Como Usar

Dono da mina

  1. Instale o yMinasPacketsPublicaAddon junto com o yMinasPackets.
  2. Dê yminaspackets.publicmine ao jogador dono.
  3. O dono entra na propria mina.
  4. Abre /mina.
  5. Clica em Configurar Mina Pública.
  6. Ativa a mina publica.
  7. Define a taxa e o limite de visitantes, se quiser.

Visitante

  1. Recebe yminaspackets.go.publicmine.
  2. Abre /mina fora de uma mina.
  3. Clica em Minas Públicas.
  4. Escolhe uma mina disponivel.

Configuracao Principal

Arquivo:

config.yml

Secao:

public-mine:
  max-users-limit: 10

max-users-limit

Limite maximo de vagas que o dono pode configurar para a propria mina publica.

max-users-limit: 10

Valores:

ValorComportamento
0Sem limite global configurado
> 0Maximo 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.

Os botoes ficam em menus.yml > main.items.

main:
  items:
    public-mines-slot: 21
    public-mine-config-slot: 21

Minas 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 yMinasPacketsPublicaAddon esta ativo.
  • O jogador nao esta dentro de uma mina.
  • public-mines-slot e >= 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 yMinasPacketsPublicaAddon esta ativo.
  • O jogador esta em uma sessao que pode gerenciar a mina atual.
  • public-mine-config-slot e >= 0.

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

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

PlaceholderDescricao
{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.' ]

Secao:

public-mine-config:
  name: '&8Configurar Mina Pública'
  size: 27
  back-slot: 22
  items:
    toggle-slot: 11
    tax-slot: 13
    max-users-slot: 15

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

PlaceholderDescricao
{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:

PlaceholderDescricao
{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:

PlaceholderDescricao
{max_users}Limite de visitantes ou Ilimitado

Ao clicar, o jogador digita no chat o maximo de visitantes.

Regras:

  • 0 significa ilimitado quando public-mine.max-users-limit permite.
  • 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:

CampoFuncao
publicMineEnabledDefine se a mina publica esta ativa
publicMineKeyMina publicada pelo jogador
publicMineTaxTaxa cobrada dos visitantes
publicMineMaxUsersMaximo de visitantes simultaneos

Sessao de Visitante

Visitantes publicos sao rastreados em memoria por:

visitor -> owner

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

TaxaVisitante recebeDono 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:

PlaceholderDescricao
{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:

NBTFuncao
yMinasPackets-PublicMineDono da mina publica
yMinasPackets-MineID 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 publicMineKey do 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.

Nesta página