P E R F E C T JOBS
A complete profession system with 5 jobs, fishing, leveling, daily quests and economy integration
// WHY PERFECTJOBS?
PerfectJobs adds 5 passive profession jobs to your Hytale server: Miner, Lumberjack, Hunter, Farmer and Fisherman. Players gain XP automatically by doing what they already do (mining, chopping, killing, farming, fishing) with 100 levels per job, specialization choices at Lv25, daily quests with money rewards, tier-based custom tools and a complete anti-exploit pipeline. Drop-in integration with PerfectEconomy, EliteEssentials and Ecotale economies.
// NEW IN v1.2
- ECOTALE ECONOMY BRIDGE
Full support for Ecotale economy has been added, in addition to PerfectEconomy and EliteEssentials. Auto-detected at startup via reflection, no config required if you already use Ecotale. Every XP gain and every quest reward will now pay through your existing network currency. - PER-PERMISSION JOB LIMITS
New maxJobsPerPlayer config (default: 1). Override per player, per rank, per group with permissions perfectjobs.jobs.max.2, perfectjobs.jobs.max.3, perfectjobs.jobs.max.unlimited. The most permissive rank wins. Set maxJobsPerPlayer=0 in config for no limit at all. - HUD TOGGLE + POSITION
Players can now hide or show the HUD at will with /jobs hud. Server owners can move it to top-left, top-right, bottom-left or bottom-right corner via config. Perfect for hub servers or players who want a cleaner screen. - JOIN / LEAVE COMMANDS
Players can now join and leave individual jobs freely with /jobs join <job> and /jobs leave <job>. Combined with per-permission limits, this gives clean control over which jobs each player is actively earning XP in. - /jobs COMMAND FIX
Typing /jobs alone now opens the main menu directly. No more "Unknown command" message when typed without arguments.
// FEATURES
- FISHING JOB
31 unique fish species with custom 3D models and textures, organized in 6 rarity tiers (commons, freshwater rares, tropical, aether, crustaceans, legendaries). Cast your rod on water, wait for the bite alert, reel in for XP and money. Every catch rolls a size variant from XS to XXL that scales XP up to 3x and is displayed inline in the fish item tooltip. - ROD TIER SYSTEM
4 rod tiers unlocked at Lv1 / Lv25 / Lv50 / Lv75. Higher tiers reduce bite time by up to 50%, increase rare catch chance by up to 20% and grant up to 5% double catch chance. Custom 3D rod model with proper holding animation. - 100 LEVELS + SPECIALIZATION
Exponential XP curve per job. At Lv25 each job unlocks a choice between two specializations (e.g. Deep Sea Master or River Sage for Fisherman) granting +50% XP on chosen targets. - EVOLVING CUSTOM TOOLS
16 custom tools (Pickaxe / Axe / Sword / Hoe in 4 tiers) + 4 Fishing Rods. Players claim T1 at Lv1, upgrade at Lv25 / Lv50 / Lv75. Each tier upgrades durability, power and visual rarity (Common / Uncommon / Epic / Legendary). - ECONOMY BRIDGES
Built-in support for PerfectEconomy, EliteEssentials Economy and Ecotale via reflection (no hard dependency). Every XP gain pays money based on the configurable moneyPerXp ratio. Quest money rewards are paid out. Currency symbol is propagated to toast notifications. - ANTI-EXPLOIT SERVICE
Four protections in one pipeline: repeat decay (spam same target = shrinking XP), variety penalty (lack of diversity = reduced rewards), income smoothing (rolling window vs target), per-second rate limit tuned per action type. Plus a global server-wide hourly income ceiling. All thresholds tunable, diagnostic logging built in. - RECORDS SYSTEM
Per-player records tracking biggest fish variant per species, total catches per species, rarest catch. Records tab in /jobs menu with completion percentage. Disk writes are batched every 30 seconds and player files are lazy-loaded on demand. - DAILY QUESTS
5 random quests per job per day, scaled by player level (Novice > Master). Quests grant XP and money on completion. Admin can define custom quest templates via the admin UI. - HUD
Permanent HUD with one row per active job, job icon, name with specialization tag suffix (Fisherman/DSM), level and slim progress bar. Unified dark theme. Updates instantly on XP gain. 4 position options (top-left / top-right / bottom-left / bottom-right). Toggle on or off with /jobs hud. - /jobs MENU
Sidebar with 5 jobs (icon + level + active highlight), 4 tabs (Info / Quests / Records / Leaderboard) with active tab indicator, XP bar with real fill, stats lines with colored accent bars, Lv chip next to the job title, top 3 leaderboard ranks labeled, your own row tagged (you). XP sources sorted by value, paginated with icons. - LEADERBOARDS
Per-job ranking (sorted by XP) and global ranking (sum of all job levels). Top 3 ranks visually labeled. - 5 LANGUAGES
EN / FR / ES / DE / IT for every message, every UI label and every fish species name. Per-player language via /jobs setlang. - ADMIN UI
Full admin panel via /jobs admin with 5 tabs: Quest Templates editor, Player Manager (set level / XP / reset), XP Sources editor with item picker, XP Boost control, Global Stats. - JOB API + PLACEHOLDERS
Static JobAPI for other plugins to read player levels / XP / specialization. Placeholders for HUD integration: {job_level_miner}, {job_xp_fisherman}, {job_total_level}, etc.
// COMMANDS
| Command | Description |
| /jobs | Open the main jobs UI |
| /jobs menu | Open the main jobs UI (alias) |
| /jobs join <job> | Join a job (respects maxJobsPerPlayer + permissions) |
| /jobs leave <job> | Leave a job |
| /jobs stats | Show your own job summary in chat |
| /jobs top | Global leaderboard (top 10 by total level) |
| /jobs top <job> | Job-specific leaderboard (top 10) |
| /jobs hud | Toggle the HUD on or off |
| /jobs setlang <code> | Change your language (EN, FR, ES, DE, IT) |
| /jobs admin | Open the admin panel (perm: perfectjobs.admin) |
| /jobs help | List available commands |
// PERMISSIONS
| Permission | Effect |
| perfectjobs.admin | Access /jobs admin panel |
| perfectjobs.jobs.max.2 | Allows holding up to 2 jobs at once |
| perfectjobs.jobs.max.3 | Allows holding up to 3 jobs at once |
| perfectjobs.jobs.max.unlimited | Removes the job cap entirely |
// HOW IT WORKS
1. Drop PerfectJobs-1.2.0.jar in UserData/Mods. Boot the server.
2. Players gain XP automatically for every Hytale action mapped to a job (mine a rock = Miner XP, chop a tree = Lumberjack XP, kill a mob = Hunter XP, harvest a crop = Farmer XP, catch a fish = Fisherman XP).
3. At Lv1 players can claim a tier 1 custom tool via /jobs menu. Upgrade at Lv25 / 50 / 75.
4. At Lv25 players choose a specialization granting +50% XP on bonus targets.
5. Daily quests reset every 24h. Complete them for bonus XP + money.
6. PerfectEconomy, EliteEssentials or Ecotale must be installed for money rewards. Or run with "economyPlugin": "none" in config for XP-only mode.
// TECHNICAL DETAILS
- Hytale version: Update 5+ (Java 21)
- Plugin size: 1.13 MB (includes 31 custom 3D fish models, rod model, bobber model, sounds and animations)
- Persistence: JSON by default (auto-save every 5 min). SQLite support coming in v1.3.
- Dependencies: None hard. Soft: PerfectEconomy OR EliteEssentials OR Ecotale for money rewards.
- ID audit: All XP source IDs verified against vanilla Hytale Assets.zip (no fake Minecraft IDs).
- Migration: Auto-migration from v1.0 / v1.1 at boot. Player progress, configs and custom quest templates preserved. Existing XP-holding players are auto-enrolled in their jobs as active.
Developed by KatsuyaTV
Need help, want to report a bug or request a feature?
Join the PerfectPlugins Discord and open a ticket in #create-ticket.

