TDXDevelopment
TDX VotePlus

Commands

Every command shipped by TDX VotePlus.

Commands

TDX VotePlus registers two commands: /vote for players and /voteplus for admins.

Player commands

/vote can only be run by a player, not from console. Aliases: /votes, /tdxvote.

CommandWhat it does
/voteOpens the main vote menu.
/vote sitesLists every site from vote-sites.yml in chat as clickable links.
/vote statsPrints your total, monthly, weekly and daily votes plus your streak in chat.
/vote myOpens the My Votes menu. /vote myvotes does the same.
/vote streaksOpens the streak menu.
/vote top [period]Opens the leaderboard. period is total (default), monthly, weekly or daily. /vote leaderboard and /vote lb do the same.
/vote claimOpens the Claim Votes menu for votes that arrived while you were offline.
/vote helpPrints the command list. /vote ? does the same.

The milestones and vote party menus have no subcommand of their own. Players reach them from the buttons in the main /vote menu.

There is no command for a player to switch reminders off. Reminders are skipped for anyone holding tdxvoteplus.reminder.bypass, see Permissions.

Admin commands

/voteplus works from console and in game. Aliases: /vpadmin, /tdxvp. Each subcommand checks its own permission node, listed in the last column.

SubcommandWhat it doesNode
/voteplus reloadReloads config.yml, every feature file, messages.yml and the guis/ folder.tdxvoteplus.admin.reload
/voteplus give <player> [service]Sends one test vote for the player through the full pipeline. service defaults to admin.tdxvoteplus.admin.give
/voteplus setvotes <player> <field> <value>Sets one counter. field is total, daily, weekly, monthly or streak.tdxvoteplus.admin.setvotes
/voteplus reset <player>Deletes the player's counters, streak history, claimed milestones, vote log and queued offline votes.tdxvoteplus.admin.reset
/voteplus reset allDoes the same for every player and clears the monthly history. There is no confirmation step.tdxvoteplus.admin.reset
/voteplus partyPrints the party counter, the threshold and how many parties have fired.tdxvoteplus.admin.party
/voteplus party triggerFires a vote party now.tdxvoteplus.admin.party
/voteplus party set <value>Sets the party counter.tdxvoteplus.admin.party
/voteplus party counterPrints only the counter.tdxvoteplus.admin.party
/voteplus refreshRebuilds the cached leaderboards now instead of waiting for the next refresh.tdxvoteplus.admin.refresh
/voteplus monthlyCloses out the last finished month now, if the hourly check has not done it yet. Refuses when monthly-rewards.yml has enabled: false.tdxvoteplus.admin.monthly
/voteplus archive <period> confirmArchives and closes out one past month, for example 2026-04. Without confirm it only prints what it would do.tdxvoteplus.admin.monthly
/voteplus offline [player]Inspects the offline vote queue. See below.tdxvoteplus.admin.debug
/voteplus debugPrints how many player records and vote log rows are waiting to be saved, and how many players are cached.tdxvoteplus.admin.debug

Notes on individual subcommands

give is the way to test your setup. The vote goes through the same code as a real one: counters, rewards, milestones, party progress and the broadcast all run. If the player is offline the vote lands in the offline queue like a real vote would.

setvotes on daily, weekly or monthly stamps the value with the current period, so it shows on the boards straight away and resets at the next rollover like any other count.

setvotes <player> streak <n> is the way to repair a streak, for example after your Votifier was down for a day. It rewrites the player's recorded vote days so the streak reads n now and their next vote carries it on to n + 1. It raises the best streak when n is higher, never lowers it, and accepts at most 3650. Before v1.3.4 the number was stored but thrown away by the player's next vote.

give and setvotes refuse a name longer than 16 characters. Nothing that long can log in, so it is always a typo.

monthly does not pay out the month that is still running. When every finished month is already closed it tells you so and does nothing. Before v1.3.4 it paid the current standings early in that case, which also cancelled the real payout at the end of the month.

archive exists for months the plugin never closed out, for example when the server was offline across a month boundary for a long time. It writes the month's top voters to the history menu, pays the monthly rewards if they are enabled, and resets monthly counters that still belong to an older month. It records what it has done, so running it twice for the same month does not pay twice. It works with monthly-rewards.yml disabled too, in which case it archives without paying, and it refuses the month that is still running.

offline with no argument prints pending, processed and total counts, the table the plugin is writing to, and the last 10 rows. With a player name it lists every queued vote matching that player's UUID and every one matching their name, which is how you find votes that were queued before the server knew the player's real UUID.