Description
SimpleJobs
A comprehensive jobs and economy plugin for Hytale servers
SimpleJobs is a feature-rich job system plugin designed specifically for Hytale servers. Players can join various professions, earn experience, level up their skills, and make money through activities like hunting monsters, mining ores, chopping trees, and farming crops. Perfect for RPG servers, economy-focused communities, or any server looking to add progression systems.
Features
Multi-Job System
- Four Implemented Jobs - Hunter, Miner, Woodcutter, and Farmer with unique gameplay loops
- Leveling & Progression - Each job has its own experience bar and levels (1-100)
- Job Switching - Players can join or leave any job at any time
- Persistent Progress - All job data saved to database with automatic caching
Hunter Job
- Monster Slayer - Earn money by killing hostile mobs and monsters
- Tiered Rewards - Different monsters give different base rewards
- Level Requirements - Higher-tier monsters require higher job levels
- Smart NPC Detection - Only rewards for naturally aggressive mobs
Miner Job
- Ore Mining Rewards - Earn money and XP for breaking valuable ores
- Automatic Ore Detection - Intelligently identifies ore blocks by name patterns
- Six Tiers - Common, Uncommon, Rare, Epic, and Legendary ores with scaled rewards
- Tool Quality Bonus - Better tools = better rewards
- Block Quality Scaling - Higher quality blocks provide increased rewards
Woodcutter Job
- Tree Chopping Rewards - Earn money and XP for harvesting logs
- Log Detection - Automatically identifies all types of wood/log blocks
- Six Wood Tiers - From common logs to legendary ancient wood
- Axe Quality Bonus - Better axes = better rewards
- Progressive Scaling - Rewards grow with both tool quality and player level
Farmer Job
- Crop Harvesting - Earn money by picking up harvested crops
- Crop Recognition - Identifies farming items like Carrots, Wheat, Potatoes, Melons, Pumpkins, and more
- Six Crop Tiers - Common crops to legendary varieties
- Smart Classification - Auto-classifies crops by name patterns
- Perfect for Farm Servers - Reward your agricultural players
Performance & Reliability
- Lightning Fast Caching - In-memory caching with Caffeine for instant lookups
- Asynchronous Operations - All database operations run in background using Kotlin coroutines
- Dual Database Support - SQLite for simple setups, PostgreSQL for large networks
- Smart Economy Integration - Seamless deposits via Cassaforte Economy API
- Thread-Safe Design - Immutable data models ensure consistency
Developer Friendly
- Clean Architecture - Modern codebase following best practices
- Comprehensive API - Easy integration for other plugins
- Modular Design - Use Cases, Services, and Systems are fully decoupled
- Well Documented - Full architecture documentation included
Commands
Player Commands
| Command | Description | Permission |
|---|---|---|
/jobs help |
Show jobs help message and available jobs | jobs.user |
/jobs join <job> |
Join a job (hunter, miner, woodcutter, farmer) | jobs.join |
/jobs leave <job> |
Leave your current job | jobs.leave |
/jobs info |
View all your jobs and progress | jobs.info |
/jobs info <job> |
View detailed info about a specific job | jobs.info |
Job Types Available
- Hunter - Earn money by killing monsters
- Miner - Earn money by mining ores
- Woodcutter - Earn money by chopping trees
- Farmer - Earn money by farming crops
Configuration
SimpleJobs creates configuration files on first launch:
Database Config (jobs_config.json)
SQLite (Default) - Perfect for most servers
{
"database": {
"type": "SQLITE",
"sqlite": {
"path": "jobs_data/jobs.db"
}
}
}
- No setup required
- File-based storage in
jobs_data/jobs.db - Ideal for small to medium servers
PostgreSQL - For high-performance networks
{
"database": {
"type": "POSTGRESQL",
"postgresql": {
"host": "localhost",
"port": 5432,
"database": "jobs",
"username": "jobs_user",
"password": "your_password",
"poolSize": 10
}
}
}
- Connection pooling for optimal performance
- Recommended for servers with large player counts
Jobs Settings (jobs_config.json)
{
"jobs": {
"enableLeveling": true,
"maxLevel": 100,
"baseExperienceMultiplier": 1.0
}
}
Permissions
SimpleJobs uses a straightforward permission system:
Player Permissions (granted to all players by default)
jobs.user- Base user permissionjobs.join- Join jobsjobs.leave- Leave jobsjobs.info- View job information
Admin Permissions (automatically given to server operators)
jobs.admin- Full administrative access
Leveling System
Experience Formula
Experience required for next level: 100 × level^1.5
Examples:
- Level 1→2: 100 XP
- Level 10→11: 3,162 XP
- Level 50→51: 35,355 XP
- Level 99→100: 98,995 XP
Reward Scaling
All rewards scale with player level: baseReward × (1 + level × 0.05)
Example: At level 10, a 10 coin base reward becomes: 10 × (1 + 10 × 0.05) = 15 coins
Integration & API
Economy Integration
SimpleJobs implements the Cassaforte Economy API, ensuring:
- Automatic money deposits to player accounts
- Consistent economy behavior across plugins
- Future-proof compatibility with economy addons
Developer API
val jobs = SimpleJobs.instance
// Get player job data
val jobPlayer = jobs.getJobPlayer(playerUuid, JobType.HUNTER)
// Check player level
println("Player is Hunter level ${jobPlayer.level}")
println("Progress: ${jobPlayer.getLevelProgress()}%")
Getting Started
- Install - Place
SimpleJobs.jarin your server'splugins/folder - Install Economy - Ensure SimpleEconomy plugin is also installed
- Start Server - Launch your Hytale server
- Configuration - Edit
jobs_config.jsonto customize settings - Join a Job - Players use
/jobs join <job>to start earning!
Example Gameplay
New Player Experience:
Player: /jobs help
Server: === SimpleJobs ===
Server: Earn money and XP through various jobs!
Server:
Server: Available Jobs:
Server: hunter: Earn money by killing monsters
Server: miner: Earn money by mining ores
Server: woodcutter: Earn money by chopping trees
Server: farmer: Earn money by farming crops
Player: /jobs join hunter
Server: You joined the Hunter job!
Server: Description: Earn money by killing monsters
Player: /jobs info hunter
Server: === Hunter Job ===
Server: Description: Earn money by killing monsters
Server: Your Progress:
Server: Level: 1
Server: Experience: 0.0 / 100.0
Server: Progress: 0.0%
Server: Total Earnings: 0.00
After Killing a Mob:
Console: [Hunter] Player killed Mob - +10 XP, +5 coins
Player: +10 XP (Hunter)
Player: +5 coins added to your balance
Requirements
- Java 25+ - Required for Hytale server plugins
- SimpleEconomy Plugin - Required for money rewards and deposits
- Hytale Server - Latest recommended version
Technical Details
- Language: Kotlin
- Architecture: Clean Architecture with Use Cases
- Database: SQLite / PostgreSQL with exposed ORM
- Caching: Caffeine (in-memory cache)
- Concurrency: Kotlin Coroutines
- Build Tool: Gradle with Shadow plugin
Future Enhancements
Planned features for future releases:
- Fisherman Job - Catch fish and earn rewards
- Job Leaderboards - Top players for each job type
- Daily Quests - Job-specific challenges
- GUI Interface - Visual job selection and progress viewing
Credits
Built for the Hytale modding community.
Integrates with Cassaforte's Economy API for seamless economy management.


