Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
Platforms
Links
Tags
Creators
Details
Licensed MIT
Published 4 days ago
TownyElections
Give your town a real election! Residents run for office, rally votes from their fellow townsfolk, and the winner is crowned automatically the moment the polls close. TownyElections adds a full, configurable democratic system on top of the Towny plugin.
What it does
Instead of the mayor's chair being handed out or claimed, let the people decide. Candidates campaign with their own custom message, residents cast their votes, and when the election ends the winner instantly receives the Towny town ranks and/or mayorship you've configured. No manual rank assignment, no fuss.
Features
- Run for office with
/election run, and set a custom campaign message for voters to read. - Town voting via
/election vote <candidate>, with optional vote changing. - Full election lifecycle handled for you: nomination, voting, an optional runoff round, then results.
- Automatic winner rewards: configurable Towny town ranks (plot management, councillor, etc.) and/or automatic mayorship.
- Tie-breakers you control:
RANDOM,EARLIEST,INCUMBENT,RUNOFF, orNONE. - Auto-scheduling to run recurring elections in every eligible town.
- Secret or live ballots, minimum/maximum candidates, custom durations, and more.
- Renamable commands so
/electionfits your server's style. - Custom win/loss commands to run anything from console (LuckPerms grants, broadcasts, rewards, and so on).
- PlaceholderAPI support for election phase, time remaining, candidate count, vote count, and the last winner.
- Persistent across restarts, and fully localised with editable messages and hex colour support.
Commands
| Command | Description |
|---|---|
/election run |
Stand as a candidate. |
/election withdraw |
Withdraw from the race. |
/election campaign <message> |
Set your campaign message. |
/election vote <candidate> |
Cast or change your vote. |
/election status |
View the current election. |
/election candidates |
List candidates and their pitches. |
/election results |
View the last election's results. |
/election start [town] |
(Admin) Start an election. |
/election stop [town] |
(Admin) End voting early and tally. |
/election cancel [town] |
(Admin) Cancel with no winner. |
/election reload |
(Admin) Reload the config. |
Requirements
- Paper 1.21.4+
- Java 21+
- Towny (required)
- PlaceholderAPI (optional)
Getting started
- Drop
TownyElections.jarinto yourplugins/folder alongside Towny. - Start the server once to generate
config.ymlandmessages_en.yml. - Tweak durations, ranks, and rewards to taste, then run
/election reload. - Start an election with
/election startand let the campaigning begin!


