feat: curiosidades plugin for stat-based server announcements

Announces a random Portuguese fact about a random online player on a
timer, sourced from vanilla statistics, with clickable reactions.

Block/item/mob names are emitted as translatable components so each
client renders them in its own language instead of shipping a
translation table. Sentences are phrased to avoid number agreement with
the translated noun ("5.966 blocos de Pedra", not "5.966 Pedras").

Statistic constants are resolved by name with fallbacks because they get
renamed across Minecraft releases; a rename degrades one curiosity
rather than breaking the announcement.

Chat cannot be edited after sending, so live reaction tallies ride on a
boss bar while the in-chat buttons stay frozen at send time.

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:18:05 +00:00
commit c528ed55c8
8 changed files with 670 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
name: Curiosidades
version: "${project.version}"
main: dev.marcospaulo.curiosidades.Curiosidades
api-version: "26.1.1"
description: Anuncia curiosidades sobre os jogadores com base nas estatísticas do servidor.
author: Canalhandia
folia-supported: false
commands:
curiosidade:
description: Anuncia uma curiosidade agora, ou gerencia suas preferências.
usage: /curiosidade [toggle|reload]
aliases: [curiosidades]
permissions:
# Declared explicitly: an undeclared Bukkit permission falls back to op-only,
# which would silently stop normal players from being able to react.
curiosidades.reagir:
description: Permite reagir às curiosidades.
default: true
curiosidades.forcar:
description: Permite forçar um anúncio com /curiosidade.
default: op
curiosidades.admin:
description: Permite recarregar a configuração.
default: op