A comprehensive serverside jobs system with progression, economy rewards, and customizable tasks for Minecraft 1.20.1 Fabric servers.
- Multiple Jobs System: Players can have up to 3 active jobs simultaneously
- Progressive Leveling: Custom formula-based progression system with configurable requirements
- Economy Integration: Seamless Impactor Economy integration for monetary rewards
- Modded Content Support: Automatically compatible with any mod - no configuration needed
- Serverside Only: No client-side mod required - works with vanilla clients
- Interactive GUIs: Server-side GUI menus for job management and progress tracking
- Performance Optimized: Formula caching, dirty tracking, and automatic cleanup
- โ๏ธ Miner: Break ores and stones to level up
- ๐พ Farmer: Harvest crops and plants
- ๐๏ธ Builder: Place blocks to earn progress
17+ additional jobs including Fighter, Fisherman, Hunter, Tamer, and more!
- Minecraft: 1.20.1
- Fabric Loader: 0.18.3+
- Fabric API: 0.92.6+1.20.1
- Java: 21+
- Impactor Economy: 5.3.0+
- SgUi 1.2.2+1.20 (server-side GUIs)
- Fabric Permissions API 0.2-SNAPSHOT
- Download the latest release:
JobsFabric-0.1-1.20.1.jar - Place in your server's
mods/folder - Install Fabric API (0.92.6+1.20.1) and Impactor Economy (5.3.0+)
- Start your server - configs generate automatically in
config/jobs/
Configuration files are located in config/jobs/:
{
"jobs": {
"maxActiveJobs": 3,
"leaveCooldownMinutes": 15,
"saveProgressOnLeave": true
},
"storage": {
"autoSaveIntervalSeconds": 180
},
"autoDetection": {
"enabled": true,
"defaultOreProgress": 1.0,
"defaultCropProgress": 1.0
}
}Each job has its own JSON configuration with:
- Progress Formula: Custom expressions (e.g.,
10 * (%level% ^ 2)) - Action Types:
break,harvest,place - Special Progress: Material-specific multipliers (optional)
- Rewards: Economy rewards linked to rewards.json
- GUI Configuration: Custom icons and descriptions
Example:
{
"id": "miner",
"name": "ยง6ยงlMiner",
"requiredProgressFormula": "2 * (%level% ^ 2)",
"actionType": "break",
"defaultRewards": ["1"],
"specialProgress": {
"diamond_ore": 5.0,
"coal_ore": 1.0
}
}Define economy rewards with formulas:
{
"1": [
{
"type": "command",
"name": "$%value%",
"variables": {
"value": "(3 * (5 * (%level% ^ 2)))"
},
"commands": ["deposit %value%"]
}
]
}/jobs- Open the jobs menu GUI to join/leave jobs and view progress
/jobsadmin reload- Reload configuration files/jobsadmin save- Force save all player data/jobsadmin test- Test economy integration/jobsadmin reset <player> <job>- Reset specific job progress/jobsadmin resetall <player>- Reset all jobs for a player/jobsadmin info- View loaded jobs and config info
- Formula Caching: 50-80% reduction in calculations
- Dirty Tracking: Only saves modified player data
- Async Economy: Non-blocking transactions
- Auto-Cleanup: Memory management with time-based expiry
Automatically works with ANY Fabric mod - no configuration needed:
- Miner: Detects any block with
_orein the name - Farmer: Detects any block extending CropBlock
- Builder: Accepts all placeable blocks
Server owners can optionally customize rewards for specific modded blocks in job JSON files.
# Clone the repository
git clone https://github.com/Toastie0/Jobs.git
cd Jobs
# Build with Gradle
./gradlew build
# Output: build/libs/JobsFabric-0.1-1.20.1.jarsrc/main/java/net/advancedjobs/
โโโ AdvancedJobsMod.java # Main mod entry point
โโโ config/
โ โโโ ConfigManager.java # Configuration loader
โโโ controller/
โ โโโ JobController.java # Core job logic
โโโ economy/
โ โโโ ImpactorEconomyHandler.java
โโโ gui/
โ โโโ JobListMenu.java # Main jobs GUI
โ โโโ JobProgressMenu.java # Job details GUI
โโโ handlers/
โ โโโ BlockBreakHandler.java # Miner job
โ โโโ CropHarvestHandler.java # Farmer job
โ โโโ BlockPlaceHandler.java # Builder job
โโโ objects/
โ โโโ Job.java # Job data model
โ โโโ User.java # Player data model
โ โโโ UserJobInfo.java # Job progress data
โโโ storage/
โโโ JsonStorageManager.java # JSON persistence
- Language: Java 21
- Build Tool: Gradle 8.8
- Mod Loader: Fabric
- GUI Library: SgUi (server-side)
- Economy: Impactor API
- Storage: JSON with dirty tracking
- Job framework with progression
- Economy integration (Impactor)
- Three jobs (Miner, Farmer, Builder)
- Interactive GUIs
- Admin commands
- Performance optimizations
- Modded content support
- 17+ additional jobs (Fighter, Fisherman, Hunter, Tamer, etc.)
- Job-specific achievements
- Leaderboards
- Boosters & multipliers
- Permission integration
- Item rewards
- Job quests/milestones
- Statistics dashboard
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
This project is licensed under the CC0 1.0 Universal (Public Domain) License - see the LICENSE file for details.
This means you can use, modify, and distribute this mod freely without any restrictions or attribution requirements.
Toastie
- GitHub: @Toastie0
- Fabric Team: For the excellent modding framework
- Impactor: For the economy API
- SgUi: For server-side GUI capabilities
- Minecraft Modding Community: For resources and support
For issues, questions, or suggestions:
- Open an issue on GitHub Issues
Note: This mod is serverside only. Players with vanilla Minecraft clients can join and use all features without installing anything.