Rotating item shop

/dailyshop (alias /itemshop) shows a new set of items every day, picked from your item pool. The pick is saved in the database, so restarts never change it.

Preset files

FileWhat it controls
daily-presets/fortnite/shop.ymlTiming, rarities, pages, sections, navigation, reroll, lore and the confirm screen.
daily-presets/fortnite/items.ymlThe item pool. Add as many items as you like.

Switch presets with preset: fortnite under daily-shop: in config.yml. Extra plug-and-play presets are plain YAML folders: drop them into daily-presets/.

Rotation timing

KeyMeaning
interval-hours: 24 under rotation: in fortnite-shop.yml24 = daily, 12 = twice a day, 168 = weekly.
reset-time: "00:00" under rotation: in fortnite-shop.ymlLocal refresh time, 24h clock, e.g. "00:00".
timezone: "server" under rotation: in fortnite-shop.ymlserver or a timezone such as Europe/London. Daylight saving changes are handled.
seed: "" under rotation: in fortnite-shop.ymlLeave empty to use this server's random seed. Set the same seed on several servers to show the same items without MySQL.

Rarities

Each rarity has a weight (how often it is picked), a display name and a glass pane color used for the frame around its items. Sections choose which rarities they draw from.

Pages and sections

Pages work like the Fortnite item shop. Each page under pages: has a title, display-only decorations and sections. A section lists its rarities, an optional random discount, and its slots with optional frame slots. Section names must be unique across pages, and an item never appears twice in one rotation.

Default pageSections
1 · Item shop2 featured items (epic / legendary) and 7 daily items (common to rare)
2 · Special offers3 special offers (rare to legendary) and 7 more daily items (common / uncommon)

Arrows at slots 45 and 53 switch pages (set them under navigation:). /dailyshop 2 opens page 2 directly. %page% and %pages% work in titles, labels and arrows.

Item pool

KeyMeaning
rarityOne of the rarities in shop.yml.
weightHow likely this item is within its rarity (default 1).
price / currencyPrice per purchase, money or shards.
stockTotal sold per rotation across all players. 0 = unlimited.
player-limitHow many one player can buy per rotation. 0 = unlimited.
discountableAllow random discounts on this item (default true).
material, amount, name, lore, enchantments, spawner, commands, give-itemSame as in the classic shop. Items can give the item, run a command, or both: see item, command or both.

Rerolls

  • /dailyshop reroll (permission storefront.dailyshop.admin) replaces the current items for everyone.
  • Personal paid reroll: set enabled: true under reroll: in fortnite-shop.yml in shop.yml. A player pays (500 shards by default) for their own new set of items until the next refresh. max-per-rotation limits how often. Needs storefront.dailyshop.reroll (everyone by default).
  • Stock stays shared after a personal reroll, and per-player limits still count.

Announcements

Under announce: inside daily-shop: in config.yml: broadcast: true sends a chat message when new items arrive, and webhook-url posts the new items to a Discord channel. The webhook URL is never logged.

Changing the pool mid-day
Today's pick stays until the next refresh. Use /dailyshop reroll after editing items.yml and running /storefront reload to apply changes right away.