Player Delivery Contracts • Carrier Reputation • Insured Shipments
Transform your server's economy with a complete logistics system where players create delivery contracts, carriers earn money through deliveries, and reputation matters.
ContractLedger is a player-driven logistics economy plugin that brings real-world delivery mechanics to Minecraft. Instead of just another shop plugin, it creates a complete freight and delivery system where players become the economy.
The Concept:
• Players create delivery contracts for items they want transported
• Other players register as carriers and accept these contracts
• Carriers earn money by completing deliveries on time
• The plugin handles all payments automatically
• Reputation system tracks carrier performance with levels and achievements
• Insurance protects valuable shipments
Think of it as turning your server into a living delivery network - where players run the logistics.
Money is held in escrow until delivery is confirmed. No more scams or lost items.
Players set prices, accept jobs, and build businesses. The market determines value.
Carriers progress through 5 levels (Bronze to Diamond), unlock 14 achievements, and build delivery streaks. Good reputation = more contracts.
Bonds prevent abandonment. Insurance protects valuable shipments. Penalties discourage late delivery. Cooldowns prevent spam after failures.
Plugin handles all payments, penalties, and insurance payouts. No admin intervention needed.
Full history of every contract. Detailed statistics. Players can track everything.
Simple commands. Players learn in minutes.
Adjust all settings to fit your server's economy.
STEP 1: REGISTER DESTINATION (ONE-TIME SETUP)
An admin or player places a sign at a delivery location and registers it with a memorable name.
- Place sign at destination (e.g., "Spawn")
- Look at the sign: /cl destination register spawn
- Destination is now available for all contracts
- One-time setup per location
STEP 2: CREATE CONTRACT FROM ANYWHERE
A player holds items and creates a contract specifying the destination name.
- Hold items in hand at your base
- Create contract: /cl delivery create 500 spawn
- Items are removed and stored safely
- Money is deducted from account
- Visual delivery zone appears at the destination (gold block + yellow floor)
- Sign and zone are protected
- Contract appears on the board
STEP 3: ACCEPT CONTRACT
A registered carrier browses available contracts and accepts one.
- Carrier receives the items in their inventory
- Carrier pays a bond (default 50% of reward)
- Deadline starts ticking
- Contract status updates
STEP 4: DELIVER
Carrier travels to the visual delivery zone and completes delivery.
- Location is validated automatically
- Items are validated in carrier's inventory
- Plugin checks if delivery is on time
STEP 5: GET PAID & EARN REWARDS
On Time: Carrier receives full reward + bond back, rating increases, streak continues, zone restores
Late: Carrier receives reduced reward (penalty applied), rating decreases, streak resets, zone restores
Failed: Carrier loses bond, cooldown applied, requester receives insurance payout, zone restores
STEP 6: BUILD REPUTATION & UNLOCK ACHIEVEMENTS
Carriers progress through levels, unlock achievements, build streaks, and compete on the leaderboard.
• Destination registry system for memorable location names
• Create contracts remotely by specifying destination name
• Automatic visual zone creation (gold block + colored floor)
• Protected signs and zones during active contracts
• Configurable block types, radius, and shapes (circle/square)
• Automatic restoration when contract completes
• Clear visual markers for carriers to find delivery locations
• Prevents griefing and accidental zone destruction
• Create delivery contracts with custom rewards
• Browse all available contracts with destination names
• Track contract status in real-time
• View complete contract history
• Cancel contracts before acceptance
• 8 contract statuses (Open, Accepted, In Transit, Completed, Late, Failed, Expired, Cancelled)
• Register as a delivery carrier
• Progress through 5 carrier levels: Bronze → Silver → Gold → Platinum → Diamond
• Choose from 4 specializations (Fast, Valuable, Long Distance, Bulk) for bonus ratings
• Unlock 14 achievements (delivery milestones, streaks, earnings, perfect records)
• Build delivery streaks for consistency rewards
• View detailed statistics (success rate, distance traveled, average rating)
• Track total earnings and performance metrics
• Compete on carrier leaderboard with level badges
• View other carriers' profiles and stats
• Configurable delivery deadlines (default 2 hours)
• Late delivery penalties (default 25% of reward)
• Automatic penalty calculation
• Refunds to requester for late deliveries
• Rating adjustments based on performance
• Failure cooldown system prevents spam (30 min base, exponential increase)
• Optional insurance for valuable shipments
• Carrier bonds prevent contract abandonment
• Automatic insurance payouts on failure
• Configurable fees and bond amounts
• Protection for both parties
• Full Vault support
• Works with any Vault-compatible economy plugin
• Automatic payment handling
• Balance validation
• Transaction safety
• Complete event history for every contract
• Track contract progress with /cl contract and /cl track commands
• View detailed carrier statistics with success rates
• Audit trail for all actions
• Two-tier viewing: Public view for players, detailed admin view with full event history
• Player names displayed throughout for better readability
14 unlockable achievements including:
• First Delivery - Complete your first delivery
• Rookie, Experienced, Veteran, Master, Legend - Delivery milestones (10, 50, 100, 500, 1000)
• Perfect 10, Flawless - Perfect streaks (10, 50 consecutive on-time)
• Perfectionist - 100% success rate with 100+ deliveries
• Marathon Runner - 10 deliveries in one day
• Wealthy, Rich, Millionaire - Earnings milestones ($10K, $100K, $1M)
• Reliable - 100 deliveries with zero failures
• Success rate percentage
• Total distance traveled
• Current and best delivery streaks
• Average rating from feedback
• Breakdown by on-time, late, and failed deliveries
• Total earnings tracking
• Performance metrics
Code:
/cl help - Show all commands
/cl delivery create <reward> <destination> - Create a delivery contract
/cl delivery list - Browse available contracts
/cl delivery accept <id> - Accept a contract
/cl delivery deliver <id> - Complete delivery
/cl delivery cancel <id> - Cancel your contract
/cl destination register <name> - Register a destination sign
/cl destination list - List all registered destinations
/cl carrier register - Register as a carrier
/cl carrier profile [player] - View carrier profile with level and stats
/cl carrier top - View top carriers leaderboard with level badges
/cl carrier level - View your level progress and next milestone
/cl carrier stats [player] - View detailed statistics and success rate
/cl carrier achievements - View your unlocked achievements
/cl carrier specialize [type] - Choose or view specializations
/cl contract <id> - View contract details
/cl track <id> - Track contract status
Code:
/cl reload - Reload plugin configuration
/cl destination unregister <name> - Remove a registered destination
/cl admin info <id> - View detailed contract information
/cl admin cancel <id> - Force cancel a contract
/cl admin fail <id> - Force fail a contract
PLAYER PERMISSIONS (default: true)
Code:
contractledger.use - Basic plugin access
contractledger.delivery.create - Create delivery contracts
contractledger.delivery.accept - Accept contracts as carrier
contractledger.delivery.cancel - Cancel own contracts
contractledger.destination.register - Register destination signs
contractledger.carrier.register - Register as carrier
contractledger.carrier.profile - View carrier profiles
contractledger.contract.view - View contract details and tracking
ADMIN PERMISSIONS (default: op)
Code:
contractledger.admin - Access to all admin commands
contractledger.destination.unregister - Remove registered destinations
Steve is at his base and needs to send 64 diamonds to spawn.
First time setup - Register spawn destination:
- Place a sign at spawn with text "Spawn"
- Look at the sign: /cl destination register spawn
- Destination "spawn" is now available for everyone
Steve creates contract from his base: /cl delivery create 500 spawn
- 64 diamonds removed from Steve's inventory
- $500 deducted from Steve's account
- Gold block appears below spawn sign
- Yellow concrete circle appears on floor at spawn
- Sign and zone are now protected
Alex wants to earn money: /cl carrier register
- Alex is now a Bronze level carrier
Alex checks contracts: /cl delivery list
- Sees: "#1 by Steve - Items: 64x DIAMOND"
- Sees: "Reward: $500 - Deliver to: [spawn] at world (0, 64, 0)"
Alex accepts: /cl delivery accept 1
- 64 diamonds added to Alex's inventory
- $250 bond deducted (50% of reward)
- Deadline starts (2 hours)
Alex travels to spawn, finds the gold block and yellow zone: /cl delivery deliver 1
- Delivery validated
- 64 diamonds removed from Alex's inventory
- Alex receives $500 reward + $250 bond = $750 total
- Alex's rating increases by 2 points
- Alex's streak increases to 1
- Achievement unlocked: "First Delivery"
- Zone restores to original blocks
- Sign becomes unprotected
Result: Steve got his delivery without traveling, Alex earned money and unlocked an achievement, and the world is clean!
• Destination registry system
• Remote contract creation
• 5 carrier levels (Bronze to Diamond)
• 4 specialization types with bonuses
• 14 unlockable achievements
• Delivery streak tracking
• Failure cooldown system
• Enhanced statistics and success rates
• Feedback/rating system
• Detailed carrier profiles
These features are planned for future updates:
• Per-contract deadline customization
• Advanced insurance options
• Dispute resolution tools
• Graphical interface for contracts
• Easy browsing and management
• Visual contract details
• Named delivery locations
• Warehouse system
• Delivery hubs
Give your players a new way to trade, earn money, progress, and interact with each other.
Version: 0.2.0 | Compatibility: Spigot/Paper 1.21+
Version: 0.2.0 | Compatibility: Spigot/Paper 1.21+
