Progression Tools (Spigot 1.8.8)
An upgradeable sword inspired by the Harvester Hoe UI. Right-clicking the sword opens a two-item menu with an information page and an upgrade page. ProgressionTools includes its own persistent, UUID-backed token economy.
Also includes an upgradeable Harvester Hoe and Fishing Rod with separate statistics, souls, token rewards, menus, enchants, and world restrictions. Use sneak + right-click to open the Fishing Rod menu so ordinary right-click can still cast it.
Fishing rods have persistent per-rod Fishing XP and levels. Lava fishing is implemented as a custom 1.8.8 hook mechanic, requires Fishing Level 100 by default, and grants configurable 1.7x souls, tokens, and XP. The custom pool contains 16 configurable fish using every fish appearance available in 1.8.8, including legendary and extremely rare mythic catches. Rarity Luck improves rare-fish odds and Double Catch can award two fish.
Admins can create the built-in special-fish merchant with /fishingrod npc spawn and remove the nearest one with /fishingrod npc remove. Every new catch independently rolls a configurable TOKENS or MONEY sale value, which is permanently stored and displayed on that fish. Money sales require Vault and an economy provider; without one, catches safely roll tokens.
Any player can open the same selling menu with /fishhsop, /fishshop, or /fs.
All sell rates and economy balancing live in the separate rates.yml. It controls upgrade-cost multipliers, the expected 100M/hour max Fishing Rod target, the expected 55M/hour max Harvester target, automatic sugar-cane selling/growth, and configurable Mob Sword-only mob drops. Harvester Hoe breaks preserve the bottom cane block and automatically harvest/sell the cane column above it.
Player token balances are owned by ProgressionTools and stored in tokens.yml, with atomic saves, backups, player payments, a leaderboard, and transaction auditing. Configurable anti-automation checks temporarily suppress custom rewards and alert administrators privately when impossible rates, script-like timing, or prolonged activity without movement are detected.
Build
Requires Java 8+ and Maven:
mvn clean package
Copy target/mob-sword-3.4.1.jar to the server's plugins folder and restart the server.
Reliability and 1.8.8 safeguards
- Compiled directly against
spigot-api 1.8.8-R0.1-SNAPSHOTwith Java 8 bytecode. - Custom tools do not lose durability by default (
prevent-custom-tool-durability-loss). - Fishing hooks and lava sessions are explicitly retracted and cleaned on catches, blocked worlds, disconnects, and plugin shutdown.
- Delayed 1.8.8 reel events cannot spawn a burning vanilla fish after an inventory-only custom lava catch.
- Water casts cannot enter the lava timeout path, and direct projectile kills cannot earn Mob Sword rewards by switching items.
- Menus use private inventory holders, so another inventory with the same title cannot trigger upgrades or fish sales.
- Token files use validated YAML plus backups; balances and sales are guarded against 32-bit overflow.
- Failed Vault/custom-drop payouts retain the player's fish or fall back to physical mob drops instead of deleting value.
Commands
-
/ptools,/ptool,/progressiontools, or/progression- open the permission-aware main help menu -
/ptools help <mobsword|harvester|fishing|tokens|admin>- open detailed help for one section -
/ptools give <mobsword|harvester|fishingrod> [player] [max]- give any normal or maxed tool -
/ptools world <tool> <list|add|remove> [world]- manage each tool's allowed worlds -
/ptools mob <list|add|remove> [mob]- manage allowed Mob Sword targets -
/ptools npc <spawn|move|remove>- manage the Fish Merchant NPC -
/ptools antibot <status|clear> <player>- inspect or clear detection state -
/ptools reload- reloadconfig.ymlandrates.yml -
/mobsword— gives yourself a Mob Sword (OP by default) -
/ms— Mob Sword alias -
/mobsword give <player>— gives a player a Mob Sword -
/mobsword max [player]— gives a fully maxed Mob Sword for testing -
/mobsword reload— reloadsconfig.yml -
/mobsword allowmob <entity>— allow a mob type (for exampleZOMBIE) -
/mobsword removemob <entity>— remove a mob type -
/mobsword allowworld <world>— allow a world -
/mobsword removeworld <world>— remove a world -
/mobsword list— show both active whitelists -
/harvesteror/hh— give/configure the Harvester Hoe; usemax [player]for a maxed test hoe -
/fishingrodor/rh— give/configure the Fishing Rod; usemax [player]for max enchants and fishing level -
/tokens— view your own ProgressionTools UUID-backed balance -
/tokens <player>— view another player's balance -
/tokens pay <player> <amount>— pay another player from your own balance -
/tokens top— show the ProgressionTools token leaderboard -
/tokens <add|remove|set> <player> <amount>— manage tokens as an administrator -
/tooltokensand/ptokens— compatibility aliases -
/mobsword antibot status <player>— inspect current automation flags -
/mobsword antibot clear <player>— clear current automation flags
Fishing detection also monitors instant recasts, rapid reel-click spam, repeated catch timing, and long stationary fishing sessions. OP players are checked by default; grant mobsword.antibot.bypass explicitly only to accounts that should never be checked.
The sword only damages a target when its entity type and world are both allowed under restrictions in config.yml. Empty lists deny all Mob Sword damage. Commands save changes immediately.
Default enchants
- Soul Collector — one extra soul per level and mob kill.
- Token Hunter — 2% bonus-token chance per level and mob kill.
- Executioner — 0.5 additional mob damage per level.
- Soul Surge (souls) — chance to double souls earned from a kill.
- Soul Magnet (souls) — chance to attract bonus souls.
- Token Greed (tokens) — chance to multiply a kill's token reward by 2–5x.
- Treasure Hunter (souls) — chance to run a random configurable reward command.
- Combo (souls) — quick consecutive kills build a configurable reward multiplier.
- Random Spawner (souls) — a rare chance to run one of the configured spawner commands.
Every enchant can use currency: TOKENS or currency: SOULS. Names, limits, prices, descriptions, item material, and base rewards are configurable. Item statistics and enchant levels are stored in hidden lore so the plugin remains compatible with the 1.8.8 API (which predates PersistentDataContainer).
PlaceholderAPI
When PlaceholderAPI is installed, these placeholders are registered automatically:
%progressiontools_tokens%— viewing player's current tokens%progressiontools_balance%— alias of the current token balance%progressiontools_provider%—ProgressionTools%progressiontools_top_player%— first-place player%progressiontools_top_tokens%— first-place balance%progressiontools_top_player_1%through%progressiontools_top_player_25%%progressiontools_top_balance_1%through%progressiontools_top_balance_25%%progressiontools_top_1%— combinedPlayer: balanceoutput
The maximum placeholder leaderboard rank is configurable up to 100 with token-system.leaderboard-maximum-rank.