Sueta

Valentines

2.0.3

Original Valentines plugin

·Plugin
Tested MC versions
1.18, 1.19, 1.20, 1.21, 26.1, 26.2, 26.3

Valentines


Original Valentines plugin. Everything in one.
Let your players be together!


Features

  • GUI: Keep it simple with only /vgui or /valentines commands
  • Marriages: Marry your favorite person
  • Friends system: No friends in real life? Don't worry
  • Achievements: Unlock them while playing or trying new functions
  • Mood: You're sad? Happy? Or just something in between?
  • Effects: You look better with particles around you
  • Kiss, Hug, Like: Valentines without this? Imagine
  • PlaceholdersAPI: You can use Valentines stats everywhere
  • More features: Let's download it to see it's full potential

Commands & Permissions

CommandAliasDescriptionPermission
/valentines/vgui, /valOpens main GUIvalentines.use
/vreload-Reloads configurationvalentines.reload

Placeholders

PlaceholderMeaning
%valentines_name%Player name from Valentines data
%valentines_hugs%How many hugs the player received
%valentines_hugs_received%How many hugs the player received
%valentines_kisses%How many kisses the player received
%valentines_kisses_received%How many kisses the player received
%valentines_likes%How many likes the player received
%valentines_likes_received%How many likes the player received
%valentines_hugs_given%How many hugs the player gave to others
%valentines_kisses_given%How many kisses the player gave to others
%valentines_likes_given%How many likes the player gave to others
%valentines_total_received%Total received interactions (hugs + kisses + likes)
%valentines_total_given%Total given interactions (hugs + kisses + likes)
%valentines_total_score%Player's total score
%valentines_mood%Localized/formatted mood text (e.g. Very Good)
%valentines_mood_raw%Raw saved mood key (e.g. very-good)
%valentines_is_married%true if player is currently married, otherwise false
%valentines_partner%Partner name if married; otherwise None
%valentines_days_married%Number of days since marriage date
%valentines_relationship_status%single, engaged, or married
%valentines_is_engaged%true if player has an active engagement
%valentines_engaged_with%The other player in the active engagement; otherwise None
%valentines_engagement_days%Days elapsed since engagement started
%valentines_engagement_hours%Hours elapsed since engagement started
%valentines_achievements_unlocked%Number of achievements unlocked by the player
%valentines_achievements_total%Total number of achievements available
%valentines_achievements_remaining%Number of locked achievements
%valentines_achievements_progress%Achievement completion percentage (e.g. 46.7)
%valentines_has_achievement_<key>%Returns true or false depending on whether the player has unlocked the specified achievement
%valentines_top_name_<position>%Player name at leaderboard position 1-100
%valentines_top_score_<position>%Total score at leaderboard position 1-100
%valentines_top_hugs_<position>%Received hugs at leaderboard position 1-100
%valentines_top_kisses_<position>%Received kisses at leaderboard position 1-100
%valentines_top_likes_<position>%Received likes at leaderboard position 1-100
%valentines_top_hugs_given_<position>%Given hugs at leaderboard position 1-100
%valentines_top_kisses_given_<position>%Given kisses at leaderboard position 1-100
%valentines_top_likes_given_<position>%Given likes at leaderboard position 1-100

Achievement Keys

Key
first_kiss_received
first_hug_received
first_like_received
first_kiss_given
first_hug_given
first_like_given
reach_10_kisses
reach_10_hugs
reach_10_likes
marriage
divorce
married_30_days
married_365_days
married_2_years
first_mood_set

TOP Values

Format:

%valentines_top_<type>_<position>%

Types

  • name
  • score
  • hugs
  • kisses
  • likes
  • hugs_given
  • kisses_given
  • likes_given

Positions

  • 1 to 100

Images / Screenshots

Section "Gallery"


Files

config.yml
# ╔════════════════════════════════════════════════════════════════════╗
# ║                      VALENTINES PLUGIN CONFIG                      ║
# ║                       Updated: July 21, 2026                       ║
# ╚════════════════════════════════════════════════════════════════════╝

# ╔════════════════════════════════════════════════════════════════════╗
# ║                                CHAT                                ║
# ╚════════════════════════════════════════════════════════════════════╝

# Plugin prefix
Prefix: "&d&lValentines &7»&r "

# Allows changing "words" with "symbol"
symbol-change: true
symbol-color: "&c"
symbol: "♥"
words:
  - "<3"
  - "valentines"
  - "heart"

# ╔════════════════════════════════════════════════════════════════════╗
# ║                      PARTICLE EFFECT SETTINGS                      ║
# ╚════════════════════════════════════════════════════════════════════╝

effect:
  enabled: true

  # Number of particles spawned per effect tick
  particle-density: 2

  # How often effects update in ticks (20 ticks = 1 second)
  update-rate: 3

  # Maximum height particles can reach above player (in blocks)
  max-height: 2.5

  # Starting height of particles above player's feet (in blocks)
  start-height: 0.1

  # Horizontal radius of particle effects (in blocks)
  radius: 1.0

# Enable/disable specific action particle effects
kiss-effect: true
hug-effect: true
marriage-effect: true

# ╔════════════════════════════════════════════════════════════════════╗
# ║                           WORLD SETTINGS                           ║
# ╚════════════════════════════════════════════════════════════════════╝

# List of worlds where the plugin features are active
enabled-worlds:
  - "world"
  - "world_nether"
  - "world_the_end"

# ╔════════════════════════════════════════════════════════════════════╗
# ║                          COOLDOWN SETTINGS                         ║
# ╚════════════════════════════════════════════════════════════════════╝

# Cooldowns for each action (in seconds)
cooldowns:
  hug: 45
  kiss: 60
  like: 240

# ╔════════════════════════════════════════════════════════════════════╗
# ║                      MARRIAGE SYSTEM SETTINGS                      ║
# ╚════════════════════════════════════════════════════════════════════╝

marriage:
  # How long a marriage proposal stays valid (in seconds)
  proposal-timeout: 45

  # Cooldown between sending marriage proposals (in seconds)
  proposal-cooldown: 30

  # If false, proposals are instantly accepted
  require-confirmation: true

  # Broadcast marriage announcements to the entire server
  announcement: true

# ╔════════════════════════════════════════════════════════════════════╗
# ║                    ANNIVERSARY SYSTEM SETTINGS                     ║
# ╚════════════════════════════════════════════════════════════════════╝

anniversary:
  enabled: true

  # Who sees announcement: "global" (everyone), "couple" (only the couple), "world" (specific worlds)
  announcement-type: "global"
  announcement-worlds:
    - "world"
  check-interval: 300

# ╔════════════════════════════════════════════════════════════════════╗
# ║                        LEADERBOARD SETTINGS                        ║
# ╚════════════════════════════════════════════════════════════════════╝

leaderboard:
  # Enable the love leaderboard showing top players by hugs/kisses/likes
  enabled: true

# ╔════════════════════════════════════════════════════════════════════╗
# ║                           DATA MANAGEMENT                          ║
# ╚════════════════════════════════════════════════════════════════════╝

# How often to automatically save all player data to disk (in minutes)
auto-save: 30

# ╔════════════════════════════════════════════════════════════════════╗
# ║                         ACHIEVEMENT SYSTEM                         ║
# ╚════════════════════════════════════════════════════════════════════╝

achievements:
  enabled: true

  # Broadcast achievement unlocks to all players on the server
  broadcast: true

  # Uses Minecraft's UI_TOAST_CHALLENGE_COMPLETE sound when unlocked
  sound-enabled: true

# ╔════════════════════════════════════════════════════════════════════╗
# ║                       PLACEHOLDERAPI SETTINGS                      ║
# ╚════════════════════════════════════════════════════════════════════╝

placeholderapi:
  # Registers %valentines_*% placeholders when PlaceholderAPI is installed
  enabled: true

# ╔════════════════════════════════════════════════════════════════════╗
# ║                      VERSION CHECKER SETTINGS                      ║
# ╚════════════════════════════════════════════════════════════════════╝

config-version: "2.0.2"
version-checker:
  enabled: true
  check-on-startup: true
  minimum-interval-seconds: 600

# ╔════════════════════════════════════════════════════════════════════╗
# ║                          FRIENDS SETTINGS                          ║
# ╚════════════════════════════════════════════════════════════════════╝

friends:
  # Messaging when your friends join/leave the server
  join-leave-notifications: true

# ╔════════════════════════════════════════════════════════════════════╗
# ║                            GUI SETTINGS                            ║
# ╚════════════════════════════════════════════════════════════════════╝

gui:
  background:
    enabled: true
    material: "PINK_STAINED_GLASS_PANE"
    name: "&7"
  items:
    main:
      stats: "BOOK"
      marriages: "CAKE"
      marriage: "SUNFLOWER"
      settings: "REDSTONE"
      leaderboard: "GOLDEN_APPLE"
      achievements: "ROSE_BUSH"
      player-search: "COMPASS"
      close: "BARRIER"
    stats:
      mood-display: "TOTEM_OF_UNDYING"
lang/en.yml
plugin:
  reload: "&aValentines plugin has been reloaded successfully!"

general:
  no-permission: "&cYou don't have permission to use this command!"
  player-offline: "&cThat player is not online right now!"
  cooldown: "&cYou can use &d{command}&c again in &d{time}&c seconds!"

hug:
  sent: "&fYou gave &d{player} &fa hug!"
  received: "&d{player} &fgave you a hug!"

kiss:
  sent: "&fYou kissed &d{player}&f!"
  received: "&d{player} &fkissed you!"

like:
  already-liked: "&cYou've already liked &d{player}&c!"
  sent: "&fYou liked &d{player}&f!"
  received: "&d{player} &flikes you!"

marry:
  self: "&cYou can't marry yourself!"
  proposal-sent: "&fMarriage proposal sent to &d{player}&f! Good luck!"
  proposal-received: "&d{player} &fwants to marry you! \n&fOpen &d/vgui &fand use the &eMarriage &fmenu to accept or deny."
  already-married: "&cYou're already married to &d{partner}&c!"
  target-already-married: "&d{player}&c is already taken!"
  no-pending-proposals: "&cYou have no pending marriage proposals!"
  proposer-offline: "&cThe person who proposed is no longer online!"
  proposal-cooldown: "&cYou can propose again in &d{time}&c seconds!"
  accept-sender: "&d{player} &aaccepted your proposal! You're now married!"
  accept-receiver: "&aYou married &d{player}&a!"
  decline-sender: "&d{player} &cdeclined your proposal."
  decline-receiver: "&cYou declined &d{player}'s &cproposal."
  announcement: "&d{player1} &fand &d{player2} &fjust got married! &d Congratulations!"
  divorce-announcement: "&c{player1} &fand &c{player2} &fhave divorced."
  chat-propose-prompt: "&fType the name of the player you want to propose to."
  chat-propose-not-found: "&cPlayer &d{player} &cis not online!"
  requests-disabled: "&d{player} &cis not accepting marriage requests."
  active-proposal: "&cYou or that player already have an active marriage proposal."

anniversary:
  global-announcement: "&d&5ANNIVERSARY CELEBRATION! &d{player1} &fand &d{player2} &fcelebrate &d{years} &fyear(s) of marriage!"
  couple-message: "&d&5Happy Anniversary! &fYou and &d{partner} &fhave been married for &d{years} &fyear(s)!"
  world-announcement: "&d{player1} &fand &d{player2} &fcelebrate their &d{years} &fyear anniversary!"

mood:
  updated: "&fYour mood has been updated to: &d{mood}"
  unknown: "&7Unknown"
  very-good: "&aVery Good"
  good: "&eGood"
  neutral: "&fNeutral"
  bad: "&cBad"
  very-bad: "&4Very Bad"

player-search:
  prompt: "&fPlease type the name of the player you want to search for:"
  not-found: "&cPlayer '&d{player}&c' not found or is not online!"
  searching: "&fSearching for player: &d{player}&f..."

gui:
  main-menu-title: "&d❤ Valentines Menu ❤"
  stats-menu-title: "&d❤ &5Player Stats &d❤"
  leaderboard-title: "&d❤ &5Love Leaderboard &d❤"
  marriages-title: "&d❤ &5Married Couples &d❤"
  marriage-menu-title: "&d❤ &5Marriage &d❤"
  marriage-proposals-menu-title: "&d❤ &5Marriage Proposals &d❤"
  settings-title: "&d❤ &5Effect Settings &d❤"
  mood-title: "&d❤ &5Mood Settings &d❤"
  achievements-menu-title: "&d❤ &5Achievements &d❤"
  player-profile-title: "&d❤ &5{player}'s Profile &d❤"

  stats-button-title: "&dYour Stats"
  stats-button-lore:
    - "&fView your statistics"
    - "&7See what and from who you received"
  leaderboard-button-title: "&dLeaderboard"
  leaderboard-button-lore:
    - "&fSee the most loved players"
    - "&7Compete for the top spot!"
  marriages-button-title: "&dMarried Couples"
  marriages-button-lore:
    - "&fView all marriages on the server"
    - "&7See who is really married!"
  marriage-button-title: "&eMarriage"
  marriage-button-lore:
    - "&fManage proposals and requests"
    - "&7Find someone to marry!"
  settings-button-title: "&dSettings"
  settings-button-lore:
    - "&fCustomize your particle effects"
    - "&7Just don't forget to allow animations!"
  achievements-button-title: "&dAchievements"
  achievements-button-lore:
    - "&fView your achievements"
    - "&7Track your progress!"
  player-search-button-title: "&dPlayer Search"
  player-search-button-lore:
    - "&fSearch for other players"
    - "&7Find and interact with players!"
  enabled-state: "&aEnabled"
  disabled-state: "&cDisabled"
  marriage-find-title: "&dFind Someone to Marry"
  marriage-find-lore:
    - "&fClick and type a player name in chat"
    - "&7Sends a proposal if neither of you have one active"
  marriage-requests-toggle-title: "&dMarriage Requests"
  marriage-requests-toggle-lore:
    - "&fCurrent state: {state}"
    - "&7Click to toggle marriage requests"
  marriage-proposals-title: "&dActive Proposals"
  marriage-proposals-lore:
    - "&fPending proposals: &d{count}"
    - "&7Click to accept or deny incoming proposals"
  no-marriage-proposals-title: "&cNo Active Proposals"
  no-marriage-proposals-lore:
    - "&7You do not have any pending marriage proposals."
  marriage-accept-title: "&aAccept {player}"
  marriage-accept-lore:
    - "&fAccept &d{player}&f's marriage proposal"
  marriage-deny-title: "&cDeny {player}"
  marriage-deny-lore:
    - "&fDecline &d{player}&f's marriage proposal"

  hugs-title: "&dHugs Received"
  hugs-lore:
    - "&fYou've received &d{count} &f hugs"
    - "&7Do you actually like it?"
  kisses-title: "&dKisses Received"
  kisses-lore:
    - "&fYou've received &d{count} &fsweet kisses"
    - "&7Maybe you should do your first move?"
  likes-title: "&dLikes Received"
  likes-lore:
    - "&fYou've received &d{count} &flikes"
    - "&7People really appreciate you!"
  marriage-title: "&dMarriage Status"
  marriage-lore:
    - "&fYou are married to &d{partner}"
    - "&fFor &d{days} &fdays"
    - "&7True love never dies!"
  single-title: "&dRelationship Status"
  single-lore:
    - "&fYou are currently single"
    - "&7Don't worry, somebody is out there!"
  mood-display-title: "&dYour Mood"
  mood-display-lore:
    - "&fCurrent mood: &d{mood}"
    - "&7Click to change your mood"

  leaderboard-entry-title: "&a{rank} &d{player}"

  marriage-couple-title: "&d{player1} &f♥ &d{player2}"
  marriage-couple-lore:
    - "&fMarried since: &d{date}"
    - "&fDays together: &d{days}"
    - "&7A beautiful love story!"

  hug-button-title: "&dHug {player}"
  hug-button-lore:
    - "&fGive them a hug"
    - "&7Feels good?"
  kiss-button-title: "&dKiss {player}"
  kiss-button-lore:
    - "&fSend them a kiss"
    - "&7That's good move!"
  like-button-title: "&dLike {player}"
  like-button-lore:
    - "&fShow your appreciation"
    - "&7Let them know you care!"
  marry-button-title: "&dMarry {player}"
  marry-button-lore:
    - "&fPropose marriage"
    - "&7Just hope for the best!"

  mood-very-good-title: "&aVery Good"
  mood-very-good-lore:
    - "&fSet your mood to Very Good"
    - "&7You're feeling amazing!"
  mood-good-title: "&eGood"
  mood-good-lore:
    - "&fSet your mood to Good"
    - "&7You're doing well!"
  mood-neutral-t

Similar projects

Plugin →