SnGifts v2.0.0
Daily playtime gifts for Paper servers. Players accrue playtime, tiers unlock as they hit their
thresholds, and each tier pays a set of rewards drawn fresh every gift day.
Requires SnLib 1.27.0 or newer
This is not optional and it is not a soft warning. The required API level is compiled into this
jar, so SnGifts 2.0.0 refuses to enable on any server whose SnLib.jar is older than 1.27.0
and says so in the console. Update SnLib first.
What it does
- Playtime tiers. Any number of gift tiers, each with its own
time-needed-minutes. Order
is by threshold ascending, so inserting a tier never renumbers the ones players already know. - A configurable menu. Placement lives entirely in
guis/gifts.ymlas a layout mask plus
named regions - move, add or remove cells without touching a slot number. - Reward pools.
rewards.ymlholds the pool; each gift day draws from it and persists the
draw, so every player who claims a tier that day gets the same reward set. Supports console
commands with{player}andvault:<amount>for economy payouts. - A daily reset on your own schedule and timezone, with a server-wide announcement.
- Per-address claim limits to blunt alt farming, with a bypass permission for staff.
- Unclaimed reminders and unlock notifications, both on their own intervals.
- SQLite or MySQL, all I/O off the main thread.
- PlaceholderAPI and Vault are both optional and detected at runtime.
Commands
| Command | Permission |
|---|---|
/gifts (alias /regalos, renameable in config.yml) |
sngifts.use |
/gifts reset <player> |
sngifts.admin.reset |
/gifts resetall |
sngifts.admin.resetall |
/gifts resetgifts |
sngifts.admin.resetgifts |
/gifts bypass |
sngifts.admin.bypass |
/gifts reload, /gifts debug |
sngifts.admin.reload, sngifts.admin.debug |
sngifts.use gates the whole command tree, including the admin subcommands. If you restrict it,
grant it to staff as well.
Configuration
Every player-facing string lives in lang/messages_en.yml and every value in config.yml. Both
are managed: new keys are merged in on update while your edits and comments are preserved, so
you never have to diff a config by hand. There is no config-version key to maintain.
Notes
claim.ip-limit-per-giftships at1. On a network behind a proxy without IP forwarding, or
for households and CGNAT, set it to0to disable the limit -config.ymldocuments the
trade-off inline.- The jar is obfuscated and licence-gated. It checks its licence once at startup and does not
phone home afterwards.