LostCrates | The Crates Plugin v1.0.0-BETA

LostCrates is a premium crates plugin with 23 built-in crate types, virtual and physical keys...
lostcrates_banner.png
lc_description_header.png

✦ LostCrates ✦
Premium Multi-Version Crates Plugin

Build Target: Paper 1.21.4 Declared Support: 1.8 - 1.21+ Java 21
Version 1.0.0 Actively Improved



A crates plugin that actually feels different.

LostCrates is built for servers that want crate openings to feel rewarding, polished, and worth using instead of being just another chest click with a random item inside.

Rather than forcing every crate into the same repetitive format, LostCrates gives you a full crate system with multiple opening styles, virtual and physical key support, reward previews, pity mechanics, holograms, toplists, and flexible per-crate behavior.

The goal is simple: make crates feel like a proper server feature, not filler content.




Why LostCrates?

  • 23 built-in crate types so different crates can actually feel unique
  • Virtual keys, physical keys, or both for survival, prison, PvP, and network setups
  • Reward preview GUI to clearly display rewards and rarities
  • Configurable pity system to reduce bad luck streaks without killing randomness
  • Toplists and holograms to add competition and visibility
  • Per-crate customization instead of one global style for everything
  • Multi-database support for both lightweight and large server environments



23 Built-In Crate Types

LostCrates includes a large variety of opening styles, allowing vote crates, seasonal crates, rank crates, event crates, premium crates, and progression crates to each feel distinct.

CSGO, Wheel, Quadrant, Crate, War, Reel, Strip, Punch, Tournament, Roulette, Face, Advanced Roulette, Tower, Cascade, Match-3, Slot Machine, Card Pack, Battle Pass, Lucky Block, Progressive, Duel, Scratch Card, Mystery Box



Core Features

Physical crates without forced block replacement
Bind crates to blocks without forcing them to become chests. Your decorative or themed blocks can stay exactly as they are while still functioning as crate interaction points.

Virtual keys, physical keys, or both
Choose the key system that fits your server. LostCrates supports virtual keys, physical key items, or both at the same time, making it suitable for many server types and progression styles.

Reward preview GUI
Let players preview possible rewards before opening. This makes crate value clearer, improves presentation, and helps players understand rarity and reward structure.

Configurable pity system
Reduce frustrating unlucky streaks by configuring guaranteed rare rewards after a certain number of openings. It keeps randomness intact while giving you more control over player experience.

Holograms and toplists
Display crate holograms, weekly toplists, monthly toplists, and claimable toplist rewards. Add visibility and competition without relying on extra plugins for ranking display.

Per-crate behavior control
Each crate can define its own reward pool, animation behavior, key handling, sounds, particles, hologram lines, title messages, actionbar messages, open commands, win commands, and rare reward commands.

Database and placeholder support
Supports SQLite, MySQL, H2, PlaceholderAPI, and Vault for both simple local servers and larger production environments.



Compatibility

  • Minecraft: 1.8 - 1.21+
  • Build Target: Paper 1.21.4
  • Java: 21

Optional Integrations
  • Vault
  • PlaceholderAPI
  • NoteBlockAPI
  • WorldGuard
  • WorldEdit



Installation

  1. Place LostCrates-1.0.0.jar into your plugins folder
  2. Start the server
  3. Edit config.yml and messages.yml
  4. Configure crates in plugins/LostCrates/crates/
  5. Reload or restart the server



LostCrates is made for servers that want more than a basic reward chest.

If your goal is a crate system that feels polished, flexible, and premium in real use, LostCrates is built for that purpose.

Current Version: 1.0.0
Status: Actively Improved
License: Proprietary
Author: Narcox

lc_photos_gifs_header.png

fdf.png


lc_discord_header.png

LostDev discord server:

https://discord.gg/6S6jxC5h67

(Join for licence key!)

lc_commands_header.png

✦ LostCrates Commands ✦
A complete overview of player and admin commands.




LostCrates includes a clean command structure for both players and administrators, covering crate usage, previews, statistics, key handling, block binding, holograms, and management tools.

Player Commands

/lc help
Show the main help menu.

/lc open <crate>
Open a crate if the player has a usable key and permission for that crate.

/lc preview <crate>
Open the preview GUI for a crate.

/lc list
List all currently loaded crates.

/lc stats
Show personal crate statistics.

/lc top
Show the player's current monthly and weekly toplist rank.

/lc top rank
Alias behavior for checking current rank.

/lc top claim
Claim pending toplist rewards.

/lc top view <monthly|weekly>
View toplist entries.

/key help
Show the key command help.

/key info
Show stored key balances.

/key claim
Claim offline keys if offline claiming is enabled.

Admin Commands

/lc reload
Reload config, messages, and crate files.

/lc admin help
Show the admin help menu.

/lc admin reload
Reload config, messages, and crate files through the admin branch.

/lc admin create <name> <type>
Create a new crate using a crate type id.

/lc admin delete <name>
Delete an existing crate.

/lc admin give <crate> <player> [amount]
Give virtual keys to a player.

/lc admin take <crate> <player> [amount]
Remove virtual keys from a player.

/lc giveblock <crate>
Give the executor a physical crate block item.

/lc set crate <crate>
Bind the looked-at block to a crate without changing the original block type.

/setcrate <crate>
Standalone crate binding command.

/setcrate crate <crate>
Alternative standalone crate binding format.

/lc admin set <crate>
Bind the looked-at block to a crate through the admin command branch.

/lc admin set crate <crate>
Alternative admin crate binding format.

/lc admin remove
Remove the placed crate block the player is looking at.

/lc admin remove crate
Alternative remove syntax.

/lc admin givekey <player> <crate> [amount] [physical|virtual|both]
Give physical keys, virtual keys, or both.

/lc admin setkeytype <crate> <physical|virtual|both>
Change the default key mode for a crate and save it.

/lc admin keycheck <player> <crate>
Show physical, virtual, and usable key counts.

/lc admin soundtest <crate>
Play the configured crate sounds to the player.

/lc admin particletest <crate>
Spawn the configured crate particles near the player.

/lc admin tophologram set <monthly|weekly>
Place a toplist hologram.

/lc admin tophologram delete <monthly|weekly>
Remove a toplist hologram.

Notes

/lc admin give and /lc admin take are admin-controlled command paths.

The dedicated /key give and /key take commands use their own permissions.

Dynamic per-crate access uses:

lostcrates.open.<crate>
lc_permissions_header.png

✦ LostCrates Permissions ✦
A clear overview of the main permissions used by LostCrates.




LostCrates uses a clean permission structure for crate access, previews, statistics, key management, and administration. This makes it easy to control player access while keeping staff permissions organized.

Main Permissions

lostcrates.admin
Full admin access to crate management, crate binding, key utilities, test commands, and toplist hologram tools.

lostcrates.reload
Allows reloading config, messages, and crate files.

lostcrates.open
Base permission required before per-crate opening access is checked.

lostcrates.open.*
Allows opening every crate when the base open permission is also present.

lostcrates.open.<crate>
Per-crate opening permission for a specific crate name.

Examples:
lostcrates.open.legendary
lostcrates.open.vote

lostcrates.preview
Allows players to preview crate rewards.

lostcrates.list
Allows listing loaded crates.

lostcrates.stats
Allows viewing personal crate statistics.

lostcrates.give
Allows giving virtual keys through /key give.

lostcrates.take
Allows removing virtual keys through /key take.

lostcrates.*
Wildcard permission covering the main declared LostCrates permissions.

Metadata Notes

lostcrates.help
Declared in plugin metadata for permission visibility, but the current code does not actively block the help menu behind it.

lostcrates.transfer
Declared in plugin metadata, but no active runtime permission check was found for it in the current codebase.

Usage Notes

/lc open <crate> checks both:

lostcrates.open
lostcrates.open.<crate> or lostcrates.open.*

/key give and /key take do not use lostcrates.admin by default.

They use:
lostcrates.give
lostcrates.take
lc_configurate_header.png

YAML:
# Example Crate Configuration
# This is a template for creating your own crates

# Display name shown in GUIs and messages
display-name: '&#FFD700&lLegendary Crate'

# Crate type (see CrateType enum for options)
# Available: CSGO, WHEEL, QUADRANT, CRATE, WAR, REEL, STRIP, PUNCH, TOURNAMENT,
#            ROULETTE, FACE, ROULETTE_ADVANCED, TOWER, CASCADE, MATCH3, SLOT_MACHINE,
#            CARD_PACK, BATTLE_PASS, LUCKY_BLOCK, PROGRESSIVE, DUEL, SCRATCH_CARD, MYSTERY_BOX
type: CSGO

# Crate-specific settings
settings:
  # Opening animations time in ticks (20 ticks = 1 second)
  opening-time: 60
 
  # Enable pity system for this crate
  use-pity: true
 
  # Number of openings before guaranteed rare
  pity-threshold: 50
 
  # Broadcast rare drops to all players
  broadcast-rare: true
 
  # Minimum chance percentage for rare notification
  rare-threshold: 5.0

# Custom settings (varies by crate type)
custom:
  # CSGO-specific: Number of items in reel
  reel-size: 15
  # CSGO-specific: Scroll speed
  scroll-speed: 2
  # Wheel-specific: Number of segments
  segments: 10

# Optional sound overrides for this crate.
# Base sounds control the main open/tick/win/rare effects.
# `effects` can override any named animation hook (for example `battle-pass-step`)
# or a raw hardcoded sound name used internally (for example `UI_BUTTON_CLICK`).
sounds:
  open-start: BLOCK_CHEST_OPEN
  tick: UI_BUTTON_CLICK
  win: ENTITY_PLAYER_LEVELUP
  rare: ENTITY_FIREWORK_ROCKET_BLAST
  volume: 1.0
  pitch: 1.0
  effects:
    UI_BUTTON_CLICK:
      sound: BLOCK_NOTE_BLOCK_HAT
      volume: 0.35
      pitch: 1.2
    card-pack-break:
      sound: ENTITY_FIREWORK_ROCKET_BLAST
      volume: 0.8
      pitch: 0.9

# Optional particle overrides for this crate.
# `types` remain the general particle pool, while `effects` can target
# named hooks like `ambient-helix` / `wheel-win-burst` or raw particle ids.
particles:
  ambient: true
  types: [VILLAGER_HAPPY, SPELL, ENCHANT]
  circle-enabled: true
  helix-enabled: true
  burst-on-win: true
  burst-count: 45
  effects:
    ambient-helix:
      type: ENCHANT
      count: 1
    ambient-ring:
      type: END_ROD
      count: 1
    VILLAGER_HAPPY:
      type: FIREWORK
      count: 1
    csgo-rarity-legendary:
      type: DRAGON_BREATH
      count: 0

# Rewards
# Each reward has: display-name, type, weight, chance, rarity, and specific data
rewards:
  diamond_sword:
    id: diamond_sword
    display-name: '&#00BFFF&lLegendary Sword'
    type: ITEM
    weight: 10
    chance: 2.5
    rarity: LEGENDARY
    broadcast: true
    item:
      material: DIAMOND_SWORD
      amount: 1
      name: '&#00BFFF&lLegendary Sword'
      lore:
        - '&7A sword of legends'
        - '&b+10 Attack Damage'
        - ''
        - '&#FFD700&lLOSTCRATES'
      enchantments:
        - SHARPNESS:5
        - FIRE_ASPECT:2
        - UNBREAKING:3
      hide-flags: true
      unbreakable: true
      custom-model-data: 1000
 
  golden_apples:
    id: golden_apples
    display-name: '&6Golden Apples'
    type: ITEM
    weight: 25
    chance: 10.0
    rarity: EPIC
    broadcast: false
    item:
      material: ENCHANTED_GOLDEN_APPLE
      amount: 5
      name: '&6Golden Apples'
      lore:
        - '&7Delicious and powerful'
 
  diamonds:
    id: diamonds
    display-name: '&bDiamonds'
    type: ITEM
    weight: 50
    chance: 25.0
    rarity: RARE
    broadcast: false
    item:
      material: DIAMOND
      amount: 16
      name: '&bDiamonds'
 
  iron_ingots:
    id: iron_ingots
    display-name: '&7Iron Ingots'
    type: ITEM
    weight: 100
    chance: 50.0
    rarity: UNCOMMON
    broadcast: false
    item:
      material: IRON_INGOT
      amount: 32
      name: '&7Iron Ingots'
 
  dirt:
    id: dirt
    display-name: '&fDirt'
    type: ITEM
    weight: 200
    chance: 75.0
    rarity: COMMON
    broadcast: false
    item:
      material: DIRT
      amount: 64
      name: '&fDirt'
 
  # Command-based reward
  fly_command:
    id: fly_command
    display-name: '&a30 Minutes Fly'
    type: COMMAND
    weight: 15
    chance: 5.0
    rarity: EPIC
    broadcast: true
    commands:
      - 'lp user %player% permission set fly.temporary 30m'
      - 'tell %player% You received 30 minutes of fly!'
 
  # Money reward (requires Vault)
  money_reward:
    id: money_reward
    display-name: '&6$1000'
    type: MONEY
    weight: 30
    chance: 15.0
    rarity: RARE
    broadcast: false
    extra:
      amount: 1000
 
  # XP reward
  xp_reward:
    id: xp_reward
    display-name: '&a500 XP'
    type: XP
    weight: 40
    chance: 20.0
    rarity: UNCOMMON
    broadcast: false
    extra:
      amount: 500
# LostCrates Main Configuration
# Premium Minecraft Crates Plugin

# Database Configuration
database:
  # Type: SQLITE, MYSQL, or H2
  type: SQLITE
 
  # MySQL settings (only if type is MYSQL)
  mysql:
    host: localhost
    port: 3306
    database: lostcrates
    username: root
    password: ''
    useSSL: false
    properties:
      - "autoReconnect=true"
      - "allowMultiQueries=true"

# General Settings
settings:
  # Enable or disable metrics collection
  metrics: true
 
  # Enable or disable update checker
  check-updates: true
 
  # Default crate opening animation speed (in ticks)
  default-animation-speed: 20
 
  # Enable physical crate blocks
  enable-physical-crates: true
 
  # Enable virtual crate GUI opening
  enable-virtual-crates: true
 
  # Maximum number of crates a player can have in preview
  max-preview-slots: 54
 
  # Enable sound effects
  enable-sounds: true
 
  # Enable particle effects
  enable-particles: true

  crates:
    # Load bundled *_example.yml crate templates automatically.
    # Keep this false in production to avoid duplicate/demo crates in menus.
    load-example-crates: false

# Key Settings
keys:
  # Enable physical key items
  enable-physical-keys: true
 
  # Key item format
  key-item:
    material: TRIPWIRE_HOOK
    name: '&#FFD700&l%crate% Key'
    lore:
      - '&7Right-click to open a &b%crate%'
      - '&7or use &b/crate open %crate%'
      - ''
      - '&#FFD700&lLOSTCRATES'
 
  # Enable offline key claiming
  enable-offline-claim: true
 
  # Key expiration (in days, 0 = no expiration)
  key-expiration-days: 0
 
  # Default key behavior for crates that don't override key settings
  default-type: BOTH
  physical-key-material: TRIPWIRE_HOOK
  virtual-key-material: PAPER

# Reward Settings
rewards:
  # Enable pity system (guaranteed rare after X opens)
  pity-system:
    enabled: true
    # Number of opens before guaranteed rare
    threshold: 50
    # Reset pity counter on rare drop
    reset-on-rare: true
 
  # Enable broadcast messages for rare items
  broadcast-rare-drops: true
 
  # Minimum chance for rare drop notification (%)
  rare-notification-threshold: 5
 
  # Auto-claim rewards (if inventory is full, give via /claim)
  auto-claim: false
 
  # Max items in reward inventory
  max-reward-items: 54

# Economy Integration
economy:
  # Enable Vault economy integration
  enabled: true
 
  # Allow buying keys with economy
  buy-keys: true
 
  # Allow opening crates with economy
  open-with-economy: true

# GUI Settings
gui:
  main-title: '&8&lCrates'
  preview-title: '&8&lPreview: %crate%'
  border-material: GRAY_STAINED_GLASS_PANE
  header-bar-material: BLACK_STAINED_GLASS_PANE
  inner-material: BLACK_STAINED_GLASS_PANE

# Message customization
messages:
  # Use custom messages from messages.yml
  enabled: true
 
  # Prefix for all messages
  prefix: '&#FFD700&lLostCrates &8>&r '

# Debug settings
debug:
  # Enable debug logging
  enabled: false

  # Log crate opening events
  log-openings: false

  # Log database queries
  log-queries: false

# Toplist System
toplist:
  enabled: true
  top-count: 10
  update-interval: 300  # 5 minutes in seconds
  monthly:
    enabled: true
    rewards:
      1st: "give %player% diamond 64"
      2nd: "give %player% diamond 32"
      3rd: "give %player% diamond 16"
  weekly:
    enabled: true
    rewards:
      1st: "give %player% diamond 16"
      2nd: "give %player% diamond 8"
      3rd: "give %player% diamond 4"

# Hologram Settings
holograms:
  enabled: true
  update-interval: 100  # ticks (5 seconds)

# Animation Settings
animations:
  fast-open-duration: 10
  armorstand-enabled: true
  default-variant: NORMAL
  orbit:
    wrap-count: 8
    crash-duration: 20
    fly-height: 2
    show-names: true
    orbit-particle: ENCHANT
    crash-particle: FLAME
  quadrant-laser:
    orbit-count: 4
    laser-particles: true
    explosion-delay: 40
    item-fly-count: 10
    disappear-duration: 60
    laser-particle: REDSTONE
    explosion-particle: EXPLOSION
    win-item-count: 1

# Particle Settings
particles:
  max-per-crate: 100
  density: NORMAL  # LOW, NORMAL, HIGH

# Sound Settings
sounds:
  global-volume: 1.0
  custom-sounds-enabled: true
# LostCrates Messages Configuration
# All messages support hex colors (&#RRGGBB) and legacy color codes (&1, &2, etc.)
# Support for MiniMessage format: <gradient:blue:green>text</gradient>

prefix: '&#FFD700&lLostCrates &8>&r '

# General Messages
general:
  no-permission: '&#FF0000;You do not have permission to do that!'
  player-only: '&#FF0000;This command can only be used by players!'
  invalid-args: '&#FF0000;Invalid arguments. Use /lc help for usage.'
  reload-success: '&#00FF00;LostCrates reloaded successfully!'
  reload-fail: '&#FF0000;Failed to reload LostCrates. Check console for errors.'
  plugin-disabled: '&#FF0000;LostCrates is disabled. Contact an administrator.'
  internal-error: '&#FF0000;An internal error occurred. Please contact an administrator.'

# Crate Commands
crate:
  open:
    no-crate: '&#FF0000;You must specify a crate to open!'
    crate-not-found: '&#FF0000;Crate "%crate%" not found!'
    no-key: '&#FF0000;You do not have a key for &b%crate%&#FF0000;!'
    no-permission: '&#FF0000;You do not have permission to open &b%crate%&#FF0000;!'
    no-space: '&#FF0000;You do not have enough inventory space!'
    success: '&#00FF00;Opening &b%crate%&#00FF00;...'
 
  preview:
    no-crate: '&#FF0000;You must specify a crate to preview!'
    crate-not-found: '&#FF0000;Crate "%crate%" not found!'
    title: '&#87CEEB&l%crate% &#808080&l- Preview'
 
  list:
    title: '&#FFD700&lLostCrates &#808080&l- Available Crates'
    no-crates: '&#FFD700;No crates available!'
    format: '&b%crate% &8- &7%keys% keys &8| &7%type%'
    total: '&#FFD700;Total: &b%total% &7crates'
 
  give:
    no-player: '&#FF0000;Player not found!'
    success: '&#00FF00;Gave &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00; to &b%player%&#00FF00;!'
    received: '&#00FF00;You received &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00;!'
 
  take:
    no-player: '&#FF0000;Player not found!'
    no-keys: '&#FF0000;Player does not have any keys for &b%crate%&#FF0000;!'
    success: '&#00FF00;Took &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00; from &b%player%&#00FF00;!'

# Key Commands
key:
  give:
    no-player: '&#FF0000;Player not found!'
    success: '&#00FF00;Gave &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00; to &b%player%&#00FF00;!'
    received: '&#00FF00;You received &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00;!'
 
  take:
    no-player: '&#FF0000;Player not found!'
    no-keys: '&#FF0000;Player does not have any keys for &b%crate%&#FF0000;!'
    success: '&#00FF00;Took &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00; from &b%player%&#00FF00;!'
 
  info:
    title: '&#FFD700&lKey Information'
    format: '&b%crate%: &7%amount% keys'
    no-keys: '&#FFD700;You do not have any keys!'
 
  claim:
    available: '&#FFD700;You have offline keys. Use &b/key claim &#FFD700;to collect them.'
    no-keys: '&#FF0000;You do not have any offline keys to claim!'
    success: '&#00FF00;Claimed &b%amount% &7key(s)&#00FF00; for &b%crate%&#00FF00;!'
    offline-not-enabled: '&#FF0000;Offline key claiming is disabled!'

# Stats Command
stats:
  title: '&#FFD700&lYour Crate Statistics'
  format:
    - '&b%crate%:'
    - '  &7Opened: &b%opened%'
    - '  &7Keys Used: &b%keys%'
    - '  &7Best Drop: &b%best%'
  no-stats: '&#FFD700;You have not opened any crates yet!'
  top:
    title: '&#FFD700&lTop Crate Openers'
    format: '&b%rank%. &7%player% &8- &b%opened% &7openings'
    no-data: '&#FFD700;No data available!'

# Help Command
help:
  title: '&#FFD700&lLostCrates &#808080&l- Help'
  commands:
    player:
      - '&b/lc open <crate> &8- &7Open a crate'
      - '&b/lc preview <crate> &8- &7Preview crate rewards'
      - '&b/lc list &8- &7List all available crates'
      - '&b/lc stats &8- &7View your crate statistics'
      - '&b/lc help &8- &7Show this help message'
    admin:
      - '&b/lc admin reload &8- &7Reload the plugin'
      - '&b/lc admin give <crate> <player> [amount] &8- &7Give keys to a player'
      - '&b/lc admin take <crate> <player> [amount] &8- &7Take keys from a player'
      - '&b/lc admin create <crate> <type> &8- &7Create a new crate'
      - '&b/lc admin delete <crate> &8- &7Delete a crate'
      - '&b/lc admin set <crate> &8- &7Bind looked-at block to crate'
      - '&b/lc admin remove &8- &7Remove the looked-at placed crate block'
      - '&b/lc admin givekey <player> <crate> [amount] [physical|virtual|both] &8- &7Give key items'
      - '&b/lc admin setkeytype <crate> <physical|virtual|both> &8- &7Set default key type'
      - '&b/lc admin keycheck <player> <crate> &8- &7Check physical/virtual key counts'
      - '&b/lc admin soundtest <crate> &8- &7Test crate sounds'
      - '&b/lc admin particletest <crate> &8- &7Test crate particles'
      - '&b/lc admin tophologram set <monthly|weekly> &8- &7Place toplist hologram'
      - '&b/lc admin tophologram delete <monthly|weekly> &8- &7Delete toplist hologram'

# Reward Messages
rewards:
  # Message when receiving a reward
  reward-received: '&#00FF00;You received: &b%reward%'
 
  # Message when reward goes to offline storage (inventory full)
  reward-offline: '&#FFD700;Reward saved! Use &b/claim&#FFD700; to collect it.'
 
  # Message for rare drops (broadcast to all players)
  rare-drop-broadcast: '&#FFD700;&l[!] &b%player% &7just received &b%reward% &7from &b%crate%&#FFD700;&l!'
 
  # Message for pity system activation
  pity-activated: '&#FFD700;&l[!] &7Pity system activated! Guaranteed rare drop!'

# Economy Messages
economy:
  insufficient-funds: '&#FF0000;You do not have enough money! Need: &b%amount%'
  key-purchased: '&#00FF00;Purchased &b%amount% &7key(s)&#00FF00; for &b%price%'
  crate-opened: '&#00FF00;Opened crate for &b%price%'

# GUI Messages
gui:
  close-message: '&#FFD700;Thanks for using LostCrates!'
  next-page: '&#00FF00;Next Page'
  previous-page: '&#FF0000;Previous Page'
  page-info: '&#FFD700;Page &b%current%&7/&b%total%'

# Error Messages
errors:
  internal-error: '&#FF0000;An internal error occurred. Please contact an administrator.'
  crate-load-fail: '&#FF0000;Failed to load crate: &b%crate%'
  database-error: '&#FF0000;Database error occurred. Please try again later.'
  timeout: '&#FF0000;Request timed out. Please try again.'

# Toplist Messages
toplist:
  errors:
    unavailable: '&#FF0000;Toplist service is currently unavailable.'
    invalid-type: '&#FF0000;Type must be monthly or weekly.'
  help-title: '&#FFD700&l=== Toplist Commands ==='
  help:
    - '&e/lc top &7- View your current ranks'
    - '&e/lc top claim &7- Claim your pending rewards'
    - '&e/lc top view <monthly|weekly> &7- View leaderboard entries'
  view:
    type:
      monthly: Monthly
      weekly: Weekly
    title: '&#FFD700&lToplist - %type%'
    spacer: '&7'
    format: '%medal%%rank%. %rank_color%%player% &8- &a%value% points%highlight%'
    no-data: '&#FFD700;No data to display.'
    you-highlight: ' &a&l<-- YOU'
  rank:
    title: '&#FFD700&l=== Your Toplist Rank ==='
    monthly: '&#FFD700;Monthly: &b#%rank% &7(%value% points)'
    monthly-unranked: '&#FFD700;Monthly: &7You are not ranked yet.'
    weekly: '&#FFD700;Weekly: &b#%rank% &7(%value% points)'
    weekly-unranked: '&#FFD700;Weekly: &7You are not ranked yet.'
    spacer: '&a'
    claim-available: '&#FFD700;Claimable rewards: &b%amount%'
    claim-use: '&#FFD700;Use &b/lc top claim &#FFD700;to collect them.'
  claim:
    no-rewards: '&#FFD700;You have no claimable rewards.'
    success: '&#00FF00;Rewards claimed successfully!'
    reward-claimed: '&#00FF00;Reward claimed: &b%reward%'
  hologram:
    title:
      monthly: '&6&lTOP %top% - MONTH'
      weekly: '&6&lTOP %top% - WEEK'
    spacer: '&7'
    no-data: '&cNo data to display.'
    format: '%medal%%rank%. %rank_color%%player% &8- &a%value% %points_label%'
    points-label: points

# Admin Command Messages
admin:
  givekey:
    success: '&#00FF00;Gave &e%amount% key(s) &ato &b%player%'
    received: '&#00FF00;Received &e%amount% %type% key(s) &afor &b%crate%'
    not-found: '&#FF0000;Crate or player not found!'
  setkeytype:
    success: '&#00FF00;Key type for &b%crate% &aset to &e%type%'
    invalid: '&#FF0000;Invalid key type. Use: PHYSICAL, VIRTUAL, BOTH'
  soundtest:
    playing: '&#00FF00;Playing sounds for &b%crate%&a...'
  particletest:
    playing: '&#00FF00;Testing particles for &b%crate%&a...'
  setcrate:
    success: '&#00FF00;Crate &b%crate% &aapplied to block at %x%, %y%, %z%'
    no-block: '&#FF0000;Look at a block to set the crate!'
  tophologram:
    usage: '&#FF0000;Usage: /lc admin tophologram <set|delete> <monthly|weekly>'
    invalid-type: '&#FF0000;Type must be monthly or weekly.'
    unavailable: '&#FF0000;Toplist service is currently unavailable.'
    invalid-action: '&#FF0000;Action must be set or delete.'
    set: '&#00FF00;Toplist hologram (%type%) placed!'
    delete: '&#00FF00;Toplist hologram (%type%) removed!'

# Per-Crate Messages (defaults, overridden per crate)
crate-messages:
  open-start: '&bOpening %crate%...'
  no-key: '&cYou need a key for %crate%!'
  won-reward: '&aYou won: &e%reward%'
  rare-drop: '&6&l[!] &e%player% got &r%reward% &efrom %crate%!'
lc_thanks_header.png
Buy a license now
$4.78
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
1 year
Share and earn
Refer this resource and earn a 10% commission.
325 Views
0 Purchases
1 Downloads
Apr 22, 2026 Published
N/A Updated
Not yet rated
624.2 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Gameplay
  1. GUI
  1. Storage
Game mode
  1. Factions
  1. Oneblock
  1. Donut-like
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.12
  1. 1.11
  1. 1.10
  1. 1.9
  1. 1.8
Supported languages
  1. English
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Lag-free, customizable servers ready in minutes.
Host your adventure today!
Recommended for you
New era of treasure chest plugins, titles, sounds, messages, permissions, addons, and more...
5.00 star(s) 8 ratings
16 purchases
Player heads, country flags, and device icons for TAB, chat, and titles.
Not yet rated
5 purchases
BungeeSystem: Ban, Kick, Report, Mute and more! NEW ERA!
5.00 star(s) 2 ratings
4 purchases
5.00 star(s) 2 ratings
2 purchases
Awesome BUILTBYBIT login, register system with spigot bungeecord and website support and more.
5.00 star(s) 2 ratings
5 purchases
Share and earn
Refer this resource and earn a 10% commission.
325 Views
0 Purchases
1 Downloads
Apr 22, 2026 Published
N/A Updated
Not yet rated
624.2 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Gameplay
  1. GUI
  1. Storage
Game mode
  1. Factions
  1. Oneblock
  1. Donut-like
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.12
  1. 1.11
  1. 1.10
  1. 1.9
  1. 1.8
Supported languages
  1. English
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Lag-free, customizable servers ready in minutes.
Host your adventure today!
Recommended for you
New era of treasure chest plugins, titles, sounds, messages, permissions, addons, and more...
5.00 star(s) 8 ratings
16 purchases
Player heads, country flags, and device icons for TAB, chat, and titles.
Not yet rated
5 purchases
BungeeSystem: Ban, Kick, Report, Mute and more! NEW ERA!
5.00 star(s) 2 ratings
4 purchases
5.00 star(s) 2 ratings
2 purchases
Awesome BUILTBYBIT login, register system with spigot bungeecord and website support and more.
5.00 star(s) 2 ratings
5 purchases
Top