Vote System
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.
- Download Releases — Get the latest JARs.
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. |
Quick Start
- 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. |