feat!: rename to Canalhandia and add four chat games

Renames the plugin from Curiosidades to Canalhandia (the server name) now
that it covers more than curiosities, and adds:

- adivinha: the curiosity with the name hidden and clickable player names,
  revealing who guessed right. Curiosity sentences never contained the
  subject's name, so the same generator feeds both with no redaction step.
- luto: a clickable [F] under death messages with a closing count.
- enquete: polls with clickable options and a live boss-bar tally.
- ranking + marcos: leaderboards covering offline players, and one-time
  milestone announcements persisted to marcos.yml.

Fixes the reaction counter being invisible. Chat cannot be edited after
sending, so the button counts are necessarily frozen; previously the only
live surface was the boss bar and the buttons showed no number at all.
Counts now appear in the buttons at send time, on the boss bar, on the
reactor's action bar, and as a final tally line when the window closes.

Late clicks used to be dropped silently once the 90s window passed. The
last 8 reaction sets now stay live for reacao-validade-minutos (15).

Rankings read the stats JSON directly because Bukkit only exposes
statistics for online players.

Adds README.md documenting the design constraints that are easy to
mistake for bugs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ActvLGJApdxEAd2yfKPwqv
This commit is contained in:
marcos
2026-08-04 20:46:42 +00:00
parent 7fd3fc157c
commit 801b43610f
23 changed files with 2275 additions and 845 deletions
+49 -19
View File
@@ -1,7 +1,21 @@
# Curiosidades — anúncios automáticos sobre os jogadores.
# Canalhandia — interações de chat do servidor.
#
# Tudo aqui também pode ser mudado em jogo com /curiosidade, e os comandos
# gravam neste arquivo na hora. Veja /curiosidade ajuda.
# Tudo aqui também pode ser mudado em jogo, e os comandos gravam neste arquivo
# na hora. Veja /canalhandia status e /curiosidade ajuda.
#
# Nada neste plugin afeta a jogabilidade: só mensagens de chat, barras de
# progresso e botões clicáveis.
# Cada módulo pode ser ligado/desligado com /canalhandia modulo <nome> <on|off>
modulos:
curiosidades: true # "Sabia que o Fulano já minerou 5.966 blocos de Pedra?"
adivinha: true # curiosidade anônima + botões com os nomes dos jogadores
luto: true # botão [F] embaixo das mensagens de morte
enquete: true # /enquete com votação clicável
ranking: true # /ranking com placares do servidor
marcos: true # avisos automáticos ao passar de 100 km, 24 horas, etc.
# --- Curiosidades ------------------------------------------------------------
# Quando as curiosidades disparam sozinhas:
# entrada - só quando um jogador entra no mundo (padrão)
@@ -17,27 +31,12 @@ atraso-entrada-segundos: 6
# Intervalo do modo temporizado, em minutos. Ignorado nos modos entrada/manual.
intervalo-minutos: 20
# Tempo mínimo antes do mesmo jogador ser citado de novo. Evita spam quando
# alguém fica entrando e saindo.
# Tempo mínimo antes do mesmo jogador ser citado de novo.
cooldown-minutos: 30
# Quantas curiosidades recentes lembrar para não repetir.
evitar-repetir: 15
# Reações clicáveis embaixo de cada curiosidade.
reacoes-ativas: true
# Por quanto tempo a barra de reações fica visível, em segundos.
janela-reacao-segundos: 90
# As reações disponíveis. A chave é usada no comando; o valor aparece no chat.
# Emoji funcionam no Java; no Bedrock (Geyser) alguns não renderizam, então
# rótulos em texto puro são a opção segura se você tem muitos jogadores Bedrock.
reacoes:
joia: "[👍]"
uau: "[😮]"
fogo: "[🔥]"
# Tipos de curiosidade que podem ser sorteados.
categorias:
mineracao: true
@@ -47,3 +46,34 @@ categorias:
distancia: true
tempo: true
diversos: true
# --- Reações -----------------------------------------------------------------
reacoes-ativas: true
# Por quanto tempo a barra de reações fica visível, em segundos.
janela-reacao-segundos: 90
# Por quanto tempo um clique ainda conta depois que a barra some. As pessoas
# rolam o chat e clicam minutos depois; descartar esses cliques em silêncio
# parece defeito.
reacao-validade-minutos: 15
# As reações disponíveis. A chave é usada no comando; o valor aparece no chat.
# Emoji funcionam no Java; no Bedrock (Geyser) alguns não renderizam, então
# rótulos em texto puro são a opção segura se você tem muitos jogadores Bedrock.
reacoes:
joia: "[👍]"
uau: "[😮]"
fogo: "[🔥]"
# --- Jogos -------------------------------------------------------------------
# Quanto tempo cada rodada de /adivinha fica aberta, em segundos.
adivinha-segundos: 45
# Quanto tempo cada enquete fica aberta, em minutos.
enquete-minutos: 5
# Quantas posições mostrar em cada /ranking.
ranking-tamanho: 5