Vote System
Official compatibility
| Element | Reference |
|---|---|
TypeWriter | Required. Use the official TypeWriter release supported by the extension release. |
| Related extensions | Install the related extensions listed on this page before using entries that depend on them. |
The Vote System Extension enables server-wide polling. Create votes with custom options, set deadlines, and let players cast their ballots.
- Source Code — View source on GitHub.
- Official release v0.6 — Download the published JAR.
Features
- Custom Polls — Up to 10 options per vote.
- Deadlines — Auto-closing dates.
- Persistence — Votes survive restarts.
- Live Results — Real-time placeholder data.
Entries
The extension is organized around a central VoteService, with one entry per concern:
| Entry | Type | Description |
|---|---|---|
vote_definition | Manifest | Poll configuration: options, deadline, messages. |
vote_config | Manifest | Global vote system settings. |
vote_action | Action | Casts a ballot for the triggering player. |
vote_message | Action | Sends vote status/result messages. |
vote_data | Artifact | Persistent ballots and results. |
vote_fact | Fact | Exposes a player's vote state to criteria (gate content on having voted). |
vote_cast_event | Event | Fires when a ballot is cast — wire follow-up triggers to it. |
User guide
- 1. Define — Add definition entries: vote_definition. These define the structures, entities, or rules the extension operates on. → vote_definition
- 2. Create Storage — Add artifact entries to persist data: vote_data. → vote_data
- 3. Trigger Actions — Use action entries to interact with the extension: vote_action. Trigger them from commands, NPCs, events, or other entries. → vote_action
Commands
Prefix: /tw vote
| Command | Description |
|---|---|
/tw vote <id> <option> | Cast vote. |
/tw vote stats <id> | View results. |
/tw vote reset <id> | Clear votes. |
Placeholders
Prefix: %typewriter_vote_*%
| Placeholder | Description |
|---|---|
%typewriter_vote_display_<id>% | Poll title. |
%typewriter_vote_total_<id>% | Total votes. |
%typewriter_vote_stats_<id>_<option>% | Option count. |
Permissions
| Permission | Description |
|---|---|
typewriter.vote | Base access to vote commands. |
typewriter.vote.cast | Cast a vote. |
typewriter.vote.stats | View vote statistics. |
typewriter.vote.reset | Reset vote data. |
Troubleshooting
The extension is not visible
Check that the installed release matches the supported TypeWriter release and that the related extensions listed in the compatibility section are present.
An entry is missing
In the Typewriter Web panel, use the Search bar or the + button to find or create the entry with its exact identifier. Entry IDs and field names are case-sensitive; do not translate them.
The entry saves but nothing happens
Check that the entry is connected to the trigger, command, objective, event, or menu interaction required by its type. Test with optional permissions and criteria removed, then add them back one at a time.
An integration does not work
Verify the dependency and version shown in the extension card, then check the server log for the first error. Do not replace a missing dependency with a similarly named plugin unless the extension source explicitly supports it.