Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for nesindev

A lightweight voting plugin that allows players to vote for changing the time of day or weather

Report LiteVotePlugin?

LiteVotePlugin

A lightweight, modern, and highly customizable voting plugin for Paper, Purpur, Folia, and Spigot that allows players to vote for changing the time of day or weather — without needing admin intervention or sleeping through the night.


✨ Features

  • 🖱️ Interactive Chat: Clickable [ЗА] / [ПРОТИВ] buttons in chat with hover tooltips powered by Adventure MiniMessage.
  • 🔊 Sound Effects: Audible cues on vote start, reminders, success, and failure.
  • ⏱️ Flexible Timers & Reminders: Configurable vote duration, ending countdown reminder, and cooldown between votes.
  • 📊 Customizable Vote Threshold: Choose between Simple Majority (yes > no) or Player Percentage (e.g. 50% of active players).
  • 🌍 World-Specific or Global: Restrict voting and weather changes to the initiator's current world or apply them server-wide.
  • 🛡️ Permissions & Admin Controls: Configurable permission nodes and an in-game config reload command (/vote reload).
  • Modern Paper API: Built on the latest Paper Brigadier command lifecycle and MiniMessage formatting.

🎮 Commands & Aliases

Commands can be run using either /vote or /v.

Command Permission Description
/vote day litevote.vote Start a vote to set time to day
/vote night litevote.vote Start a vote to set time to night
/vote clear litevote.vote Start a vote for clear weather
/vote rain litevote.vote Start a vote for rain
/vote storm litevote.vote Start a vote for a thunderstorm
/vote yes litevote.vote Vote in favor of the active proposal
/vote no litevote.vote Vote against the active proposal
/vote reload litevote.admin Reload config.yml without server restart
/vote litevote.vote View available commands and help

🔑 Permissions

Permission Default Description
litevote.vote true (all players) Allows players to initiate and participate in votes
litevote.admin op Allows reloading the configuration via /vote reload
litevote.bypass.cooldown op Allows starting a vote ignoring the cooldown timer

⚙️ Configuration (config.yml)

The plugin generates a fully documented config.yml upon first run:

settings:
  # Duration of the vote in seconds
  vote-duration: 30

  # Seconds before the vote ends to send a reminder broadcast (0 to disable)
  reminder-seconds: 15

  # Cooldown between votes in seconds (0 to disable)
  cooldown-seconds: 60

  # Cooldown mode:
  # - "global": Nobody can start a vote until cooldown expires
  # - "player": Only the vote initiator has a cooldown
  cooldown-mode: "global"

  # Vote requirement mode:
  # - "simple_majority": YES votes must be strictly greater than NO votes (yes > no)
  # - "percentage": Percentage of eligible players who voted YES must reach required-percentage
  requirement-mode: "simple_majority"

  # Required percentage of YES votes if requirement-mode is "percentage" (1 - 100)
  required-percentage: 50

  # If true, votes and effects are restricted to the initiator's world
  world-only: true

  # Minimum number of online players required to start a vote
  min-players: 1

# Sound effects (Minecraft sound keys)
sounds:
  enabled: true
  vote-start: "block.note_block.bell"
  vote-reminder: "block.note_block.pling"
  vote-success: "entity.player.levelup"
  vote-failure: "entity.villager.no"
  vote-cast: "ui.button.click"

# Localized names for vote targets
targets:
  day: "День"
  night: "Ночь"
  clear: "Ясно"
  rain: "Дождь"
  storm: "Гроза"

# Messages using Adventure MiniMessage format (colors, gradients, click & hover events)
messages:
  prefix: "<gray>[<green>LiteVote</green>]</gray> "
  vote-start: "<green><player></green> начал голосование за <gold><target></gold>!\n<gray>Голосуйте: <click:run_command:'/vote yes'><hover:show_text:'<green>Нажмите, чтобы проголосовать ЗА'><green><bold>[ЗА]</bold></green></hover></click> или <click:run_command:'/vote no'><hover:show_text:'<red>Нажмите, чтобы проголосовать ПРОТИВ'><red><bold>[ПРОТИВ]</bold></red></hover></click> <dark_gray>(<duration> сек.)</dark_gray></gray>"
  vote-reminder: "<gray>До конца голосования осталось <yellow><seconds_left></yellow> сек.!</gray>"
  vote-success: "<green>Голосование завершено успешно! (<green><yes_votes></green> ЗА / <red><no_votes></red> ПРОТИВ). Применяем: <gold><target></gold>!</green>"
  vote-failure: "<red>Голосование не прошло! (<green><yes_votes></green> ЗА / <red><no_votes></red> ПРОТИВ). Запрос отклонён.</red>"
  # ... and more customizable strings

Information

Category
Miscellaneous
Published
September 22, 2026
License
0Downloads
0Stars
Supports Folia

Pinned Versions

Members

1