JobsFabric

Quick rating

JobsFabric

No reviews yet

A comprehensive serverside jobs system with progression, economy rewards, and customizable jobs for Minecraft 1.20.1

Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
JobsFabric-0.1-1.20.1.jar
Authors

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.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

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.

Minecraft Fabric Java License

🌟 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

  1. Download the latest release: JobsFabric-0.1-1.20.1.jar
  2. Place in your server's mods/ folder
  3. Install required dependencies:
    • Fabric API (0.92.6+1.20.1)
    • Impactor Economy (5.3.0+)
  4. Start your server
  5. 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 startup
  • defaultOreProgress: Default progress value for auto-detected ores
  • defaultCropProgress: Default progress value for auto-detected crops
  • defaultBlockProgress: 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., _ore matches 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

🙏 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:


Note: This mod is serverside only. Players with vanilla Minecraft clients can join and use all features without installing anything.

Screenshots

Gallery

This project has no gallery images yet.

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

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works