Junta duas entregas: as correcoes da v1.1.0 e a camada de integracao da v1.2.0.
Correcoes (v1.1.0)
| Problema | Correcao |
|---|---|
| Desinstalar o plugin deixava presos cegos e invulneraveis para sempre | release-all-on-disable solta todos os presos online no desligamento |
| Nao dava pra punir quem estava offline | /loui agora aceita alvo offline; o ponto de retorno e capturado no primeiro login |
/loui X 2h motivo falhava |
O sufixo de horas passou a ser aceito (30, 30m, 2h, 2d) |
| O aviso de punicao so chegava a quem digitou o comando | Vai para todos com a permissao loui.notify |
Qualquer um com loui.use podia conter o dono |
Permissao loui.exempt da imunidade, checada tambem no login |
| Presos simultaneos caiam no mesmo ponto e se empurravam | Cada preso ocupa uma faixa de altura propria, mantendo um unico chunk carregado |
| Bloqueio total de comandos impedia o punido de recorrer | allowed-commands libera comandos especificos (vazio por padrao) |
Integracao (v1.2.0)
Eventos de API em com.nemonicorp.loui.api:
LouiImprisonEvent— cancelavel; vetar impede a punicao por completoLouiReleaseEvent— notificacao, com a causa (MANUAL,EXPIRED,SHUTDOWN,EXEMPT)
PlaceholderAPI (opcional): %loui_jailed%, %loui_time_left%, %loui_reason%, %loui_count%.
A PlaceholderAPI entra em escopo provided e nao e embutida no jar — o plugin continua rodando sem nada alem do Paper.
Permissoes novas
| Permissao | Padrao | Para que |
|---|---|---|
loui.exempt |
— | Imunidade ao castigo |
loui.notify |
op | Recebe aviso de punicao |
Compatibilidade
Um config.yml ou prisons.yml da v1.0.0 carrega sem edicao. Toda chave nova
tem default no codigo.
Requisitos
Paper ou Spigot 1.21+, Java 21+. Nenhuma dependencia obrigatoria.
Verificacao
31 testes de unidade passando (parse de tempo, pool de faixas, raiz de comando, eventos).
O comportamento em runtime foi verificado em servidor: teleporte, efeitos,
persistencia, ciclo de desligamento, punicao offline, imunidade e os
placeholders.
Software proprietario. Consulte o LICENSE.txt.