Skip to content

DaisyVotes — Vote Sites & Menus

menus.yml defines your vote sites — each one a candle in the /vote dashboard — plus the titles of the stats and top menus.

menus.yml
vote-menu:
title: "DaisyVotes"
rows: 6
sites:
- id: "minecraftservers"
slot: 20
display-name: "<gradient:#FFC8DD:#FFF1C1>Minecraft Servers</gradient>"
url: "https://minecraftservers.org/vote/example"
service-aliases:
- "Minecraft Servers"
- "minecraftservers.org"
reward-title: "Minecraft Servers Bonus"
cooldown: { every: "12h" }
item:
material: "pink_candle"
voted-item:
material: "gray_candle"
# … four more sites
KeyDefaultDescription
title"DaisyVotes"The menu title (MiniMessage).
rows6Menu height, 16. Slots run 0 to rows * 9 - 1; a button outside that is skipped.
buttons(see below)New in 2.6.0 Every button on the menu except the site candles.
sites(5 sites)The list of vote sites.
New in 2.6.0

Every button on the vote dashboard is yours: where it sits, what item it is, what it says, and whether it is there at all. Keys are stable names — stats, wheel, top-voters, claim, party, streak, milestone, close, shop, rewards.

vote-menu:
buttons:
shop:
slot: 42
enabled: true
item:
material: emerald
glint: true
name: "<gradient:#FFF1C1:#FFC8DD>Vote Shop</gradient>"
lore:
- "<#B8C0CC>Your points: <#FFF1C1><points>"
- ""
- "<#FFFFFF>Click to open the shop."
FieldDescription
slotWhere it sits, 053. Set -1 to leave it out.
enabledfalse removes the button entirely.
itemThe item to show — the full item descriptor.
inactive-itemShown instead when the button has nothing to offer: no spins left, no rewards waiting, a streak about to lapse. Falls back to item when unset.

Placeholders available in any button’s name or lore:

<player> <total_votes> <daily_votes> <weekly_votes> <monthly_votes> <season_votes> <streak> <best_streak> <points> <rank> <party_assists> <wheel_spins> <wheel_sites> <wheel_required> <progress_bar> <behind_top> <milestone_name> <milestone_remaining> <queued> <party_current> <party_required> <party_remaining> <party_progress_bar> <grace_remaining> <next_streak_days>

daily_votes / weekly_votes / monthly_votes / season_votes new in 2.8.0

This is the complete list DaisyVotes supplies. The same list is printed as a comment at the top of your own menus.yml, and a build-time test (MainMenuPlaceholdersTest) fails in both directions if that comment and the code ever disagree — so if this page is ever stale, the comment in your file is the one to trust.

A button key you don’t mention keeps its shipped default, so you only need to write the ones you’re changing. Omitting the whole buttons section gives you the stock menu.

New in 2.8.0 Other plugins’ %placeholders% also work here. With PlaceholderAPI installed, write %player_name%, %vault_eco_balance%, or any other %placeholder% into a button’s name or lore and it’s resolved for whoever opens the menu. The resolved value is escaped, so colour codes or MiniMessage tags returned by another plugin’s placeholder show up as literal text rather than being applied — the same protection that stops a player named <red> from recolouring your menu. This is a different system from the <…> placeholders above: those are DaisyVotes’ own, resolved without PlaceholderAPI at all. See Placeholders for where else this applies and what doesn’t resolve.

Each entry under vote-menu.sites:

FieldRequiredDescription
idInternal site id. Used for /vote <id>, per-site rewards, and per-site point overrides. Must be unique.
slotInventory slot in the dashboard, 053. Must be unique per site.
display-nameMiniMessage name shown for the site.
urlThe vote page opened when the candle is clicked.
itemThe candle shown when the player can vote (see Item descriptor).
service-aliasesNames that the server list sends to Votifier for this site. This is how an incoming vote is matched to this site.
reward-titleA short header shown in reward previews.
reward-summaryExtra preview lines (list of strings).
voted-itemThe candle shown when the player has already voted here (on cooldown). Defaults to a dimmed copy of item.
cooldownNew in 2.6.0 How often this site lets a player vote again. See Per-site cooldowns.
New in 2.6.0

Voting sites do not agree on how often you may vote, or even on the model. Some allow another vote a fixed number of hours after the last one. Others reset at a wall-clock time in their timezone — so a player who votes at 23:00 can vote again in an hour, not in twelve.

Before 2.6.0 there was one global sites.default-cooldown-hours for every site, so the second kind was wrong by most of a day at the wrong hour.

sites:
# A rolling window since this player's last vote here.
- id: planetminecraft
cooldown: { every: "12h" } # 30m, 8h, 12h, 24h, 1d
# A fixed daily reset, in the site's own timezone.
- id: minecraft-mp
cooldown:
resets-at: "00:00"
zone: "America/New_York" # or "server"
FieldDescription
everyRolling window since the last vote: 30m, 8h, 12h, 1d.
resets-atFixed daily reset as HH:mm. Takes precedence over every.
zoneIANA timezone the reset happens in. server uses the game host’s zone.

A site with no cooldown uses sites.default-cooldown-hours from config.yml, so existing configs are unaffected.

item and voted-item are item descriptors:

FieldDescription
materialA Minecraft material id (e.g. pink_candle, diamond), or a custom item from Nexo, Oraxen or ItemsAdder.
nameMiniMessage display name.
loreA list of MiniMessage lore lines.
amountStack size (optional; defaults to 1).

| glint | Enchantment shimmer, without a fake enchantment. | | custom-model-data | Resource-pack model number. | | model | Resource-pack item model key, e.g. mypack:candle/pink. Preferred over custom-model-data. | | hide-vanilla-tooltip | Hides the vanilla enchantment/attribute/unbreakable lines. |

Anywhere a material goes — here, in rewards, and in the shop — you can write an item from Nexo, Oraxen or ItemsAdder instead of a vanilla id:

item:
material: "nexo:ruby_sword" # needs Nexo
# material: "oraxen:ruby_sword" # needs Oraxen
# material: "itemsadder:mypack:ruby" # needs ItemsAdder

The custom item arrives finished — its own model, name and lore — and anything else you set on the descriptor (amount, glint, hide-vanilla-tooltip) is written on top of it. name and lore still apply everywhere except site candles, same as for a vanilla material.

DaisyVotes has no hard (compile-time) dependency on any of these three plugins — it reaches whichever one is installed by reflection, so there is nothing to bundle and nothing required if you don’t use one. If the named plugin isn’t installed, or it has no item with that id, the slot falls back to a plain material rather than the item you meant, and /daisyvotes doctor lists exactly which configured id couldn’t be resolved and which plugin would fix it.

idSlotCandleService aliases
minecraftservers20pink_candleMinecraft Servers, minecraftservers.org
planetminecraft21purple_candlePlanet Minecraft, pmc
minecraftmp22yellow_candleMinecraft MP, minecraft-mp
topg23lime_candleTopG, topg.org
bestservers24light_blue_candleBest Servers, minecraft.buzz
  • Add: copy an existing entry, give it a unique id and slot, set its url, service-aliases, and item, then /daisyvotes reload. To grant a site-specific bonus, see per-site rewards.
  • Remove: delete the entry and reload. (If you use the daily wheel, remember that wheel.required-sites clamps to the number of sites you have.)
stats-menu:
title: "<gradient:#FFC8DD:#BDE0FE>Your Vote Stats</gradient>"
top-menu:
title: "<gradient:#FFF1C1:#BDE0FE>Top Voters</gradient>"
KeyDefaultDescription
stats-menu.titleYour Vote StatsTitle of the /vote stats menu.
top-menu.titleTop VotersTitle of the /vote top menu.