Skip to content

Commands and permissions

Commands

Command What it does
/vote The vote links, plus your totals, streak and points
/vote top The leaderboard, all time and this month
/vote party How far the vote party has filled
/vote shop Spend vote points
/voting setup Everything a vote site's form asks for, click-to-copy
/voting editor The in-game editor: rewards, milestones, party, shop, sites
/voting status Port, tokens, votes received, rejected, queued, storage, network
/voting top The leaderboard, for staff
/voting board add <type> [name] Place a leaderboard hologram and open move mode
/voting board move [name] Move and resize the board you are near
/voting board remove [name] Take one down
/voting board list Every board and where it stands
/voting points <player> <give\|take\|set> <n> Adjust a balance
/voting js <expression> Try a reward condition and see true or false
/voting test <player> [site] Run a vote through the whole pipeline
/voting token <site> Make a token for one site
/voting key Copy the RSA public key
/voting reload Reload config and rewards, reopen the port
/testvote <player> [site] The same as /voting test, for muscle memory

/voting also answers to /evoting, /votify and /ballot.

Permissions

Node Default Grants
embervoting.vote everyone /vote and its pages
embervoting.admin operators Setup, the editor, tokens, test votes, points, reload

Rewards can require any permission node you like, so donor tiers need no extra setup here: give the rank a node, put that node on the reward.

Placeholders

With PlaceholderAPI installed:

Placeholder Shows
%embervoting_total% The player's lifetime votes
%embervoting_month% Their votes this month
%embervoting_streak% Their daily streak
%embervoting_points% Their vote point balance
%embervoting_sites_today% Sites they have voted on today
%embervoting_sites_total% Sites you have listed
%embervoting_last% How long since they voted
%embervoting_party_count% Votes towards the party
%embervoting_party_needed% Votes a party takes
%embervoting_party_left% Votes still to go
%embervoting_top_1_name% The top voter's name (any number)
%embervoting_top_1_votes% Their vote count
%embervoting_topmonth_1_name% This month's leader (any number)
%embervoting_topmonth_1_votes% Their votes this month

For developers

Ember Voting fires two events. Its own comes first and can be cancelled, which stops everything else including the compatibility event:

@EventHandler
public void onVote(com.emberplugins.voting.api.EmberVoteEvent event) {
    event.vote();      // username, service name, address, timestamp
    event.protocol();  // 1 for RSA, 2 for token, 0 for a test vote
    event.test();      // true when an admin sent it
    event.setCancelled(true);
}

Then the long-standing com.vexsoftware.votifier.model.VotifierEvent, which is what vote-aware plugins have listened for since 2013, so they work with no changes. The plugin declares provides: Votifier, so getPlugin("Votifier") finds it and a softdepend on Votifier is satisfied.

Files

File Holds
config.yml Port, tokens, storage, network, points, effects, messages
rewards.yml Every reward list, milestones, shop and sites
votes.yml Totals, streaks, points, party counter (YAML storage only)
queue.yml Votes owed to offline players (YAML storage only)
rsa/ The key pair older vote sites use