Плагин для серверов Майнкрафт с голосованиями через инвентарь. Он поддерживает опросы «да/нет» и ранжированные выборы одного победителя, а результаты можно проверить без раскрытия того, как голосовали конкретные игроки.
Возможности
- Администратор создаёт и редактирует опросы в интерфейсе инвентаря: название, описание, варианты и их описания.
- В ранжированном опросе игрок расставляет варианты по предпочтению; можно разрешить неполный список и ограничить число позиций в нём.
- Перед отправкой голос нужно подтвердить.
- Готовый опрос можно клонировать как черновик: переносятся параметры и варианты, но не голоса, участники и история проверок.
- Опрос проходит состояния
DRAFT -> READY -> OPEN -> CLOSED. - Голоса хранятся анонимно, а учёт участия отдельно не даёт проголосовать дважды. Игрок может проверить факт участия или свой бюллетень по кодовой фразе; фразу следует хранить в тайне.
- Проверки целостности включают контроль хешей бюллетеней, участия и цепочки аудита. При желании сервер публикует обезличенные контрольные события в совместимые с Discord вебхуки: без имён, UUID, IP-адресов, кодовых фраз и содержимого отдельных голосов.
- Интерфейс не использует декоративные стеклянные панели и подходит игрокам Java и Майнкрафт Бедрок.
Команды
Все команды доступны как через /modnvote, так и через короткий вариант /poll.
- Управление опросами:
/modnvote guide,/modnvote create ranked_single_winner <optionCount>,/modnvote create yes_no,/modnvote edit <draftPollId>,/modnvote clone <sourcePollId>,/modnvote list,/modnvote show <pollId>,/modnvote delete <pollId>,/modnvote open <pollId>,/modnvote close <pollId>,/modnvote result <pollId>,/modnvote checkpoint <pollId>. - Для игроков:
/modnvote vote <pollId>,/modnvote mypolls,/modnvote verify participation <pollId>,/modnvote verify ballot <pollId> <proofPhrase>. - Служебные:
/modnvote status,/modnvote reload.
Права
Основные права:
modnvote.admin.poll.createmodnvote.admin.poll.listmodnvote.admin.poll.openmodnvote.admin.poll.closemodnvote.admin.reloadmodnvote.verifymodnvote.testvote
Настройка
В plugins/ModNVote/config.yml указывают вебхуки и события для публикации. Несколько адресов добавляются отдельными строками в discord_webhooks; значение discord_webhooks: [] отключает публикацию. Параметр checkpoint_interval_ballots задаёт число принятых голосов между автоматическими контрольными точками.
Требования
Плагин рассчитан на сервер PaperMC и Java 21, использует SQLite. Поддержка PlaceholderAPI зависит от сборки.
