Skip to content

dailyrewards.yml

Jan Kluka edited this page Jun 29, 2026 · 3 revisions
# ============================================================================
#  X-Prison - Daily Rewards
# ----------------------------------------------------------------------------
#  One claim per day. Claiming on consecutive days builds a streak that walks
#  through the reward cycle below and unlocks milestone bonuses. Missing a day
#  resets the streak to 1.
#
#  All text uses MiniMessage formatting (https://docs.advntr.dev/minimessage).
#  Enable/disable the whole module in config.yml -> modules.dailyrewards
# ============================================================================

# Empty = server's system timezone. Otherwise an IANA id, e.g. "Europe/Bratislava".
timezone: ""
# Hour (0-23) at which a new claim becomes available.
reset-hour: 0
# Battle Pass XP granted on each claim (0 to disable).
pass-xp: 100

messages:
  prefix: "<gradient:#11998e:#38ef7d><bold>DAILY</bold> <dark_gray>»</dark_gray></gradient> "
  claimed: "<green>Daily reward claimed! You're on a <yellow>%streak%<green>-day streak."
  already-claimed: "<red>You have already claimed your daily reward today. Come back tomorrow!"
  claim-available: "<green>Your daily reward is ready! Claim it with <yellow>/daily<green>."

# ----------------------------------------------------------------------------
#  On-screen titles & sounds for key moments. Each block has an optional 'title'
#  (enabled/title/subtitle plus fade-in/stay/fade-out in seconds) and a 'sound'
#  (enabled/sound/volume/pitch). Titles use MiniMessage; sounds are Bukkit/XSound
#  names. Set either 'enabled: false' to silence just that part.
#  Placeholders for both blocks: %streak%, %total%.
# ----------------------------------------------------------------------------
effects:
  # Played on a normal daily claim (when no streak milestone is reached).
  claim:
    title:
      enabled: true
      title: "<gradient:#11998e:#38ef7d><bold>DAILY REWARD</bold></gradient>"
      subtitle: "<white>%streak%<gray>-day streak - keep it going!"
      fade-in: 1
      stay: 3
      fade-out: 1
    sound:
      enabled: true
      sound: ENTITY_PLAYER_LEVELUP
      volume: 1.0
      pitch: 1.0
  # Played instead of 'claim' when the claim lands on a streak milestone.
  milestone:
    title:
      enabled: true
      title: "<gold><bold>%streak%-DAY STREAK!</bold>"
      subtitle: "<white>Milestone bonus unlocked!"
      fade-in: 1
      stay: 3
      fade-out: 1
    sound:
      enabled: true
      sound: UI_TOAST_CHALLENGE_COMPLETE
      volume: 1.0
      pitch: 1.0

# ----------------------------------------------------------------------------
#  Reward cycle
#  The streak walks through these days in order, looping back to day 1 after the
#  last day. Display name/lore placeholders: %day%, %status%.
# ----------------------------------------------------------------------------
cycle:
  1:
    display:
      material: PAPER
      name: "<white>Day 1"
      lore:
        - "<gray>Reward: <green>$10,000"
        - ""
        - "%status%"
    rewards:
      commands:
        - "money give %player% 10000"
      messages:
        - "<green>+ $10,000"
      sound: ENTITY_PLAYER_LEVELUP
  2:
    display:
      material: PAPER
      name: "<white>Day 2"
      lore:
        - "<gray>Reward: <aqua>100 Tokens"
        - ""
        - "%status%"
    rewards:
      commands:
        - "tokens give %player% 100"
      messages:
        - "<aqua>+ 100 Tokens"
  3:
    display:
      material: PAPER
      name: "<white>Day 3"
      lore:
        - "<gray>Reward: <green>$25,000"
        - ""
        - "%status%"
    rewards:
      commands:
        - "money give %player% 25000"
      messages:
        - "<green>+ $25,000"
  4:
    display:
      material: PAPER
      name: "<white>Day 4"
      lore:
        - "<gray>Reward: <aqua>250 Tokens"
        - ""
        - "%status%"
    rewards:
      commands:
        - "tokens give %player% 250"
      messages:
        - "<aqua>+ 250 Tokens"
  5:
    display:
      material: GOLD_INGOT
      name: "<white>Day 5"
      lore:
        - "<gray>Reward: <green>$75,000"
        - ""
        - "%status%"
    rewards:
      commands:
        - "money give %player% 75000"
      messages:
        - "<green>+ $75,000"
  6:
    display:
      material: GOLD_BLOCK
      name: "<white>Day 6"
      lore:
        - "<gray>Reward: <green>10 Gems"
        - ""
        - "%status%"
    rewards:
      commands:
        - "gems give %player% 10"
      messages:
        - "<green>+ 10 Gems"
  7:
    display:
      material: DIAMOND
      name: "<yellow><bold>Day 7</bold>"
      lore:
        - "<gray>Reward: <aqua>1,000 Tokens <gray>+ <green>20 Gems"
        - ""
        - "%status%"
    rewards:
      commands:
        - "tokens give %player% 1000"
        - "gems give %player% 20"
      messages:
        - "<aqua><bold>+ 1,000 Tokens <gray>& <green>20 Gems"
      sound: UI_TOAST_CHALLENGE_COMPLETE

# ----------------------------------------------------------------------------
#  Streak milestones - granted IN ADDITION to the cycle reward when the streak
#  reaches exactly this value.
# ----------------------------------------------------------------------------
milestones:
  7:
    rewards:
      commands:
        - "gems give %player% 50"
      messages:
        - "<gold><bold>7-day streak bonus: <green>+ 50 Gems!"
      sound: UI_TOAST_CHALLENGE_COMPLETE
  14:
    rewards:
      commands:
        - "gems give %player% 125"
      messages:
        - "<gold><bold>14-day streak bonus: <green>+ 125 Gems!"
      sound: UI_TOAST_CHALLENGE_COMPLETE
  30:
    rewards:
      commands:
        - "gems give %player% 300"
        - "tokens give %player% 10000"
      messages:
        - "<gold><bold>30-day streak bonus: <green>+ 300 Gems <gray>& <aqua>10,000 Tokens!"
      sound: UI_TOAST_CHALLENGE_COMPLETE

# ----------------------------------------------------------------------------
#  GUI  (/daily)  -  all text is MiniMessage
# ----------------------------------------------------------------------------
gui:
  title: "<dark_gray>Daily Rewards"
  rows: 5
  filler: "BLACK_STAINED_GLASS_PANE"
  cycle-slots: [10, 11, 12, 13, 14, 15, 16]
  # Optional cosmetic frame. Each entry is a normal item (material/name/lore/glow)
  # at a single 'slot' or a list of 'slots'.
  decorations:
    top:
      material: GREEN_STAINED_GLASS_PANE
      name: " "
      slots: [0, 1, 2, 3, 5, 6, 7, 8]
    sides:
      material: LIME_STAINED_GLASS_PANE
      name: " "
      slots: [9, 17, 18, 26, 27, 35]
    bottom:
      material: GREEN_STAINED_GLASS_PANE
      name: " "
      slots: [36, 37, 38, 39, 41, 42, 43, 44]
  status:
    claimed: "<green><bold>✔ Claimed</bold>"
    claimable: "<yellow><bold>➜ Click to claim!</bold>"
    locked: "<red><bold>✖ Locked</bold>"
  info:
    slot: 4
    material: CLOCK
    name: "<green><bold>Your Streak"
    lore:
      - "<gray>Current streak: <yellow>%streak%"
      - "<gray>Longest streak: <yellow>%longest_streak%"
      - "<gray>Total claims: <yellow>%total%"
      - "<gray>Reward available: <yellow>%can_claim%"
  items:
    claim-available:
      slot: 31
      material: CHEST
      name: "<green><bold>Claim your reward!</bold>"
      lore:
        - "<gray>Click to claim today's reward."
    claim-unavailable:
      slot: 31
      material: BARRIER
      name: "<red>Already claimed today"
      lore:
        - "<gray>Come back tomorrow!"
    close:
      slot: 40
      material: BARRIER
      name: "<red>Close"

Clone this wiki locally