promotional bannermobile promotional banner
premium banner
A comprehensive jobis plugin for Hytale servers, providing different jobs types for players. It also integrates using Cassaforte Interface to others economy plugins.

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 permission
  • jobs.join - Join jobs
  • jobs.leave - Leave jobs
  • jobs.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

  1. Install - Place SimpleJobs.jar in your server's plugins/ folder
  2. Install Economy - Ensure SimpleEconomy plugin is also installed
  3. Start Server - Launch your Hytale server
  4. Configuration - Edit jobs_config.json to customize settings
  5. 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.