JobsFabric
No reviews yet
A comprehensive serverside jobs system with progression, economy rewards, and customizable jobs for Minecraft 1.20.1
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
JobsFabric - Minecraft Fabric Mod
A comprehensive serverside jobs system with progression, economy rewards, and customizable tasks for Minecraft 1.20.1 Fabric servers.
🌟 Features
- Multiple Jobs System: Players can have up to 3 active jobs simultaneously
- Progressive Leveling: Custom formula-based progression system with configurable requirements
- Economy Integration: Integrates with Impactor Economy for monetary rewards
- Anti-Exploit Protection: Prevents farming player-placed blocks and bonemeal abuse
- Modded Content Support: Fully compatible with modded blocks and items
- Auto-Detection: Automatically detects all ores, crops, and blocks on server startup
- Serverside Only: No client-side mod required - works with vanilla clients
- Customizable Jobs: JSON-based configuration for easy job creation and modification
- Interactive GUIs: Server-side GUI menus for job management and progress tracking
📋 Available Jobs
Phase 1 (Implemented)
- ⛏️ Miner: Break ores and stones to level up
- 🌾 Farmer: Harvest crops and plants
- 🏗️ Builder: Place blocks to earn progress
Phase 2 (Planned)
17+ additional jobs including Fighter, Fisherman, Hunter, Tamer, and more!
🔧 Dependencies
- Impactor Economy: 5.3.0+ (for economy rewards)
Bundled (Already Included in the Mod)
- SgUi: 1.2.2+1.20 (for server-side GUIs) - No separate installation needed
Note: These libraries are bundled for convenience. If you experience conflicts with other mods using these libraries, please report the issue on GitHub.
Optional
- LuckPerms: For permission-based features (planned)
📥 Installation
- Download the latest release:
JobsFabric-0.1-1.20.1.jar - Place in your server's
mods/folder - Install required dependencies:
- Fabric API (0.92.6+1.20.1)
- Impactor Economy (5.3.0+)
- Start your server
- Configure jobs in
config/jobs/
⚙️ Configuration
Configuration files are located in config/jobs/:
Main Config (config.json)
{
"jobs": {
"maxActiveJobs": 3,
"leaveCooldownMinutes": 15,
"saveProgressOnLeave": true
},
"storage": {
"autoSaveIntervalSeconds": 180
},
"autoDetection": {
"enabled": true,
"defaultOreProgress": 1.0,
"defaultCropProgress": 1.0,
"defaultBlockProgress": 1.0
}
}
Auto-Detection Settings:
enabled: Automatically scan registry for ores/crops/blocks on startupdefaultOreProgress: Default progress value for auto-detected oresdefaultCropProgress: Default progress value for auto-detected cropsdefaultBlockProgress: Default progress value for auto-detected placeable blocks
Note: Manual config entries always override auto-detected values!
Job Definitions (jobs/*.json)
Each job has its own JSON configuration file with:
- Progress Formula: Custom mathematical expressions (e.g.,
100 * (level^2)) - Action Types:
break,harvest,place, etc. - Special Progress: Material-specific multipliers
- Rewards: Economy rewards per level
- GUI Configuration: Custom icons and descriptions
Example job structure:
{
"id": "miner",
"name": "&6&lMiner",
"progressFormula": "100 * (level^2)",
"actionType": "break",
"xpReward": 0,
"xpRewardFormula": "",
"specialProgress": {
"_ore": 5.0,
"stone": 1.0
}
}
🎮 Usage
Player Commands
/jobs- Open the jobs menu (GUI)- Join jobs by clicking in the GUI
- View progress and statistics
- Leave jobs with progress saved
Admin Commands
(Coming in Phase 2)
🚀 Performance Optimizations
This mod includes several performance enhancements:
- Formula Caching: 50-80% reduction in mathematical calculations
- Memory Management: Automatic cleanup of tracking data every 5 minutes
- Dirty Tracking: Only saves modified player data
- Async Operations: Economy transactions run asynchronously
- Time-Based Expiry: Old entries auto-expire after 10 minutes
See OPTIMIZATION_REPORT.md for detailed analysis.
🔒 Anti-Exploit Features
- Block Placement Tracking: Player-placed blocks don't give mining progress
- Bonemeal Cooldown: 1-second cooldown prevents bonemeal farming
- Timestamp Tracking: Automatic cleanup prevents memory leaks
- Validation System: Action-type whitelists prevent invalid progress
🧩 Modded Content Support
The mod fully supports modded blocks and items:
- Uses full resource identifiers (e.g.,
modname:copper_ore) - Wildcard support (e.g.,
_orematches all ores) - Automatic compatibility with any mod
- No additional configuration required
See MODDED_CONTENT_SUPPORT.md for details.
🏗️ Development
Building from Source
# 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.jar
Project Structure
src/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
Tech Stack
- Language: Java 21
- Build Tool: Gradle 8.8
- Mod Loader: Fabric
- GUI Library: SgUi (server-side)
- Economy: Impactor API
- Storage: JSON with dirty tracking
📊 Roadmap
Phase 1: Core System ✅
- <input id="" class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox" aria-label="Completed task"> Job framework
- <input id="" class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox" aria-label="Completed task"> Progress tracking
- <input id="" class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox" aria-label="Completed task"> Economy integration
- <input id="" class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox" aria-label="Completed task"> Basic jobs (Miner, Farmer, Builder)
- <input id="" class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox" aria-label="Completed task"> Anti-exploit systems
- <input id="" class="task-list-item-checkbox" checked="checked" disabled="disabled" type="checkbox" aria-label="Completed task"> Performance optimizations
Phase 2: Expansion 🚧
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> 17+ additional jobs
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Job-specific achievements
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Leaderboards
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Boosters & multipliers
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Permission integration
Phase 3: Advanced Features 📋
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Custom job creation GUI
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Job rewards (items, commands)
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Job quests/milestones
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Statistics dashboard
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> API for developers
🤝 Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
📄 License
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.
👤 Author
Toastie
- GitHub: @Toastie0
🙏 Acknowledgments
- 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
📞 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.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources