PerfectJobs v1.2.0 - Patch Notes
New features
- Ecotale economy bridge added. Auto-detected alongside PerfectEconomy and EliteEssentials via reflection. Zero config for owners who already use Ecotale.
- Per-permission job limits. New maxJobsPerPlayer config (default 1). Override per player with perfectjobs.jobs.max.2, perfectjobs.jobs.max.3, perfectjobs.jobs.max.unlimited. The most permissive rank wins. Kill switch: maxJobsPerPlayer=0 = no limit for anyone.
- HUD toggle + position. Players can turn the HUD on or off with /jobs hud. Owners can pick top-left, top-right, bottom-left or bottom-right in the config.
- New commands /jobs join <job> and /jobs leave <job> to manage active jobs individually.
Fixes
- /jobs alone now opens the main menu directly. No more "Unknown command" when typed without arguments.
- Migration: existing players with XP in any job are automatically enrolled in that job as active on first load. No progress lost.
Behind the scenes
- EcotaleBridge added to the economy provider chain. Order: PerfectEconomy > EliteEssentials > Ecotale > no-economy fallback.
- JobManager.getMaxJobs(playerRef) cascades through the permission tree.
- JobManager.addXp filters out inactive jobs (returns -1 if player is not enrolled).
No breaking changes. Drop the new jar in UserData/Mods and reboot.
PerfectJobs v1.1.0 — Massive update
NEW JOB: FISHERMAN
- 5th job added: passive Fisherman with full fishing system
- 31 custom fish species with unique 3D models and textures
- 6 rarity tiers: Common, Freshwater Rare, Tropical, Aether, Crustacean, Legendary
- Right-click rod on water to cast, wait for bite, right-click to reel
- Custom bobber 3D model + idle/thrown/catch animations
- Real rod 3D model with proper player hold animation (first + third person)
- Cast / Bite / Reel sound effects
- Specialization at Lv25: Deep Sea Master (rare bias) or River Sage (common bias + double catch chance)
- Cancel fishing on player movement (WASD / jump)
- 5 daily fishing quests scaled by player rank
SIZE VARIANT SYSTEM
- Every catch rolls a size variant: XS / S / M / L / XL / XXL
- Variant affects XP reward (XXL pays 3x base XP)
- Fish item display name shows the variant inline: [XL] Verdantfang Pike
- Stack-friendly: same species + same variant stack together
ROD TIER SYSTEM (T1-T4)
- T1 baseline / T2 -15% bite time +5% rare chance / T3 -30% bite time +10% rare chance +2% double catch / T4 -50% bite time +20% rare chance +5% double catch
- Stats tooltips updated to reflect real numbers
- Claim T1 in /jobs menu, upgrade at Lv25/50/75
ECONOMY BRIDGES
- New EconomyBridge interface with reflection-based hooks (no hard dependency)
- PerfectEconomy support
- EliteEssentials Economy support
- moneyPerXp ratio config: every XP gain pays money via the bridge
- Quest moneyReward field now actually paid out (was saved but unused in v1.0)
- Currency symbol propagated from the bridge to toast notifications
ANTI-EXPLOIT SERVICE
- 4-in-1 protection: repeat decay + variety penalty + income smoothing + per-second rate limit
- Per-action-type rate caps: FISH 4/s, KILL 8/s, BREAK 20/s, PLACE 20/s
- Global hourly server-wide income ceiling
- Diagnostic logging every 50 blocks for tuning
- Public API: getTotalBlocks, setRateCapForType
RECORDS SYSTEM
- Per-player records tracking: biggest fish variant per species, total caught per species, rarest catch
- Hunter: toughest mob kill / Miner: rarest ore / Lumberjack: best wood / Farmer: best harvest hooks ready
- New Records tab in /jobs menu with completion percentage and sorted species list
- Save throttling: batched writes every 30 seconds instead of per-catch
- Lazy load: player record files loaded on demand, not preloaded at server boot
HUD REDESIGN
- 5 rows (one per job) with job icon, name, level, slim progress bar
- Specialization tag suffix shown next to job name when chosen (Fisherman/DSM, Miner/EXCA)
- Unified dark theme with subtle separator
- Tighter compact layout
/jobs MENU REDESIGN
- Active tab indicator: gold underline below the selected tab
- XP bar with actual gold fill scaling with progress
- Stat lines with colored left accent bars (green blocks, red kills, orange quests, blue time, gold total XP)
- Title row with job icon and Lv chip on the right
- Sidebar highlight on the currently viewed job
- Top 3 leaderboard ranks labeled GOLD / SILV / BRZ + your own row tagged (you)
- XP Sources sorted descending by XP value (best sources first)
- New 4th tab: Records (Fisherman only for now, more jobs coming)
QUEST + ID AUDIT
- All Miner, Lumberjack, Farmer XP sources cross-checked against the real Hytale Assets.zip
- Removed 11 fake IDs that did not exist in vanilla (Ore_Mithril_Volcanic, Wood_Pine_Trunk, Plant_Crop_Berry, ...)
- Added 30+ real vanilla variants (Iron Sandstone/Shale/Slate, Silver Basalt/Volcanic, all real Wood Trunks, all 17 Plant_Crop_X_Block crops + stat crops + wildcards)
- Auto-migration at boot: legacy IDs are detected and refreshed, stale quest templates are dropped, player daily quests get cleaned up on next /jobs open
NOTIFICATIONS
- Fishing cast: cyan message Line cast! Wait for a bite...
- Fishing bite: persistent warning toast BITE! Reel in now! + bold chat message + sound
- Fishing caught: success toast with the size variant
- Fishing cancelled: red message when player moves with line out
LANG i18n
- 6 languages updated: EN, FR, ES, DE, IT, PT
- New keys: job.fisherman, spec.deepseamaster, spec.riversage, fishing.cast/bite/cancelled, toast.fish.caught, ui.tab.records
- All fish species names sent via UpdateTranslations on player join
BUG FIXES
- Records save no longer slams disk on every catch (batched 30s flush)
- Plugin shutdown properly flushes pending record writes
- Tab indicator no longer points to the wrong tab on Records / Leaderboard
INSTALL
- Drop the new JAR in UserData/Mods, replacing the old PerfectJobs.jar
- Existing player data, job progress, and configs are preserved
- jobs.json + quest_templates.json auto-migrate at first boot, watch the console for [PerfectJobs] Migration: lines
PerfectJobs v1.0.1
2026-05-26
Hytale Update 5 compatibility update.
Changes:
- Updated for Hytale Update 5 (Pre-Release 5).
- Recompiled against the latest server API (JOML vectors, new permission and HUD APIs).
- Fixed the red "Target Version" warning shown in the mod manager.
- No feature changes. Your existing configs, data and saved files are kept as is.
How to update:
- Stop your server.
- Replace the old PerfectJobs jar with this one.
- Start your server. Nothing else to do.
PerfectJobs v1.0.1
- Fix client crash when changing world via portals or teleport
- Fix crash on instance world transfers (Forgotten Temple, etc.)
- Translations are now sent only once per session instead of on every world change
- HUD setup is fully deferred to avoid sending packets during world transfer
- Added safety checks on HUD refresh for invalid player references
PerfectJobs v1.0.1
- Fix crash when players change world via portals or /tp command
- HUD setup is now deferred during world transfers to prevent client disconnect
- Added safety check on HUD refresh to avoid errors on invalid player references
