LuckyHook
A configurable custom fishing plugin for Spigot. Replaces vanilla fishing catches with weighted custom loot organized by rarity, pays economy rewards on catch, tracks per-player stats, and grants configurable achievements. Optional Vault and PlaceholderAPI integrations.
Features
- Loot tables with per-item weights, custom names/lore, enchantments, and on-catch commands.
- Conditioned loot - gate any fish by world, biome, weather, time of day, and player level.
- Fish weights & records - each catch rolls a realistic weight (kg, biased toward smaller); weight scales the payout, sets per-player records, and powers a biggest-catch leaderboard. Big/rare/special catches are broadcast server-wide.
- Tournaments - Race with other players for better fish, bigger catches, more money earned and more.
- Levels & XP - gain XP per catch (by rarity + weight), level up with perks (sell bonus, luck that favours rarer fish), and gate loot behind levels.
- Leaderboards - cached top-10 by catches, money, biggest catch, and level; exposed as placeholders for holograms and via /luckyhook leaderboard <type>.
- Rarity system - five tiers with colors, particles, and per-rarity XP.
- Economy rewards via Vault - each loot item's economy_reward is paid on catch, scaled by a global reward_multiplier and an optional permission-based bonus multiplier. Disables itself gracefully (with a warning) if Vault is absent.
- Achievements with predicate-based conditions, money + command rewards, and a title + firework on unlock, evaluated automatically after each catch.
- Player stats (catches, per-rarity, earnings, longest session, last-fished) persisted to data.yml via a swappable storage layer (StorageInterface), with a /luckyhook top leaderboard.
- PlaceholderAPI expansion (%luckyhook_...%).
- Fully reloadable at runtime (/luckyhook reload).
- )
Requirements
| Component | Version / Notes |
|---|---|
| Server | Spigot / Paper 1.20.x – 26.x |
| Java (build) | 17 (bytecode target) |
| Java (runtime) | 17 for MC ≤ 1.20.4; 21 for MC 1.20.5+/1.21+ |
| Vault | Optional - required for economy rewards (the bridge plugin) |
| Economy plugin | Optional - a Vault economy provider, e.g. EssentialsX (EssentialsX), CMI, or any economy plugin that registers with Vault. Vault alone provides no balances. |
| PlaceholderAPI | Optional - required only for the %luckyhook_…% placeholders |
All three integrations are softdepend: the plugin loads and runs without them (economy and placeholders simply switch off, with a console note).
