Skip to main content

Settings, Language & Logging

This page covers everything in the settings: block of config.yml, plus the language file and the opening log.

Settings reference

settings:
max-clicks: 5
drop-overflow-at-player: true
log-events: true
language: en_us

sounds:
click: { key: ui.hud.bubble_pop, volume: 1.0, pitch: 1.0 }
upgrade: { key: block.note_block.pling, volume: 1.0, pitch: 1.0 }
open: { key: entity.experience_orb.pickup, volume: 1.0, pitch: 1.0 }

progress:
filled: "●"
empty: "○"
separator: " "
SettingDefaultDescription
max-clicks5Taps needed to fill the bar before a drop can be opened. See Chance Modes.
drop-overflow-at-playertrueIf a reward won't fit in the inventory, drop it at the player's feet (true) or at world spawn (false).
log-eventstrueWhether to log drop openings (see Logging).
languageen_usWhich lang/<language>.yml file to load (see Language).

Sounds

Sounds are global (shared by every rarity) and follow a simple formula:

EventPlays
A tap that did not upgradesounds.click
A tap that did upgradesounds.upgrade
The final click that opens the dropsounds.open

Each sound has a key (a Minecraft sound event), volume, and pitch.

note

Use valid sound event keys (e.g. entity.experience_orb.pickup, block.note_block.pling). An unknown key simply plays nothing - it won't error.

Progress bar

settings.progress controls the <progress> indicator shown in the drop's name:

KeyDefaultMeaning
filledCharacter for a consumed click
emptyCharacter for a remaining click
separator" "Inserted between characters ("" for none)

With max-clicks: 5 and two clicks used, this renders ● ● ○ ○ ○.


Language & messages

All player-facing text lives in a language file under lang/, selected by settings.language. The default is lang/en_us.yml.

To translate or customise:

  1. Copy lang/en_us.yml to e.g. lang/fr_fr.yml.
  2. Edit the values (keep the keys and placeholders).
  3. Set language: fr_fr in config.yml and run /luckydrops reload.
tip

If the file named by language is missing and isn't bundled, the plugin falls back to en_us and warns in the console - it never crashes on a bad language setting.

Message keys & placeholders

Everything uses MiniMessage formatting (gradients, hex, styling). Placeholders available per key:

KeyPlaceholdersNotes
prefix-Prepended to most chat messages
reloaded<count>Shown after a clean reload
reloaded-with-issues<count>Shown after a reload with validation warnings
give-usage-Command usage hint
give-success<amount>, <target>Sent to the command sender
give-received<amount>Sent to the recipient (suppressed by -s)
give-unknown-player<target>
give-unknown-rarity<rarity>, <rarities><rarities> lists valid ids
give-bad-amount-
inventory-full-When a reward is dropped at the feet
upgrade-message<tier>Sent in chat each time a drop upgrades
reward-message<reward>, <tier>The win broadcast
no-permission-

Item name & lore

The drop's in-hand appearance is also in the language file:

drop-name: "<tc><tier> Lucky Drop <progress></tc>"
drop-lore:
- "<tc>A sealed lucky drop.</tc>"
- "<gray>Right-click to crack it open!"
- ""
- "<gray>Clicks remaining: <white><clicks></white>"

Available placeholders: <tier>, <progress>, <clicks>, <used>, and the <tc>…</tc> accent-colour tag. See Rarities → How drops display.


Logging

When settings.log-events is true, LuckyDrops writes a line to plugins/LuckyDrops/logs/latest.log every time a player opens a drop:

[2026-05-15 14:22:41] Steve (uuid…) opened a epic Lucky Drop | reward: Diamond Sword | at world 128,64,-310

Rotation works just like Minecraft's own logs:

  • The active file is always latest.log.
  • On each server start, the previous latest.log is archived to a dated file (2026-05-15-1.log, incrementing the suffix on collisions), and a fresh latest.log is opened.
  • A /luckydrops reload keeps appending to the current session's log (it does not rotate again mid-session).

Set log-events: false and reload to stop logging; the writer closes cleanly and no further files are touched.