promotional bannermobile promotional banner

Orbis & Dungeons (RPG class mod)

The Evolution Update introduces a modular Race and Class system, allowing players to combine unique biological traits and combat specializations for permanent stats, weapon bonuses, and elemental resistances.

File Details

Orbis_and_Dungeons-2026.2.10-7856.jar

  • R
  • Feb 10, 2026
  • 128.59 KB
  • 57
  • Early Access

File Name

Orbis_and_Dungeons-2026.2.10-7856.jar

Supported Versions

  • Early Access

Version 2026.2.9 - Unified Commands, Mod Integration, Smart Resets & UI Modernization

๐ŸŽฎ Unified Command System (Complete Overhaul)

All legacy commands have been replaced with a clean, unified structure using 4 base commands with subcommands:

Old → New Command Migration

Old Command New Command Notes
/racetrade <race> /race change <race> Now a subcommand
/racereset /race reset Auto-opens race UI
/raceinfo /race info Unchanged behavior
/racereload /race reload Unchanged behavior
/raceselect /race select Now a subcommand
/tradeclass <class> /class change <class> Now a subcommand
/resetclass /class reset Auto-opens class UI
/racesetlanguage --confirm --language=X /language set X Simplified syntax
(new) /build select Opens race → class flow
(new) /build change --race X --class Y Change both at once
(new) /build reset Resets both, opens full UI flow
(new) /build info Shows race + class combined

 

/race — Race Management

Subcommand Usage Description
select /race select [--player <name>] Opens race selection UI
change /race change <race> [--player <name>] Change race directly by name
reset /race reset [--player <name>] Reset race → opens race UI only
info /race info [--player <name>] Show current race info
reload /race reload Reload configs (admin)

 

/class — Class Management

Subcommand Usage Description
select /class select [--player <name>] Opens class selection UI
change /class change <class> [--player <name>] Change class directly by name
reset /class reset [--player <name>] Reset class → opens class UI only
info /class info [--player <name>] Show current class info

 

/build — Combined Race + Class (NEW)

Subcommand Usage Description
select /build select [--player <name>] Opens race UI → flows to class UI
change /build change --race <race> [--class <class>] [--player <name>] Change both at once
reset /build reset [--player <name>] Reset both → opens race UI → class UI
info /build info [--player <name>] Show race + class combined info

 

/language — Language Management (NEW)

Subcommand Usage Description
set /language set <code> Set server language
list /language list List all available languages
current /language current Show current language

 

Architecture: Each command extends AbstractPlayerCommand with withOptionalArg("player", ...) for admin targeting.

๐Ÿ”„ Smart Reset Commands with Auto-UI

Reset commands now automatically open the corresponding selection UI, eliminating the need for players to manually re-open the UI after a reset.

Command What Resets UI Behavior
/race reset Race + Class data Opens race selection UI only → applies race with saved class → closes
/class reset Class only (keeps race) Opens class selection UI only → select class → closes
/build reset Race + Class data Opens race UI → class UI (full selection flow)

 

Technical Implementation:

  • RaceSelectionPage now has a raceOnly mode:
    • Normal mode (/build select, /build reset): confirm → opens ClassSelectionPage
    • Race-only mode (/race reset): confirm → applies race + saved class directly → this.close()
  • /race reset: Saves the player's current class before resetting, then opens RaceSelectionPage(targetRef, true, savedClass). After race selection, the saved class is reapplied automatically.
  • /class reset: Keeps the race, sets class to "none", opens ClassSelectionPage(targetRef, currentRace).

Translation Keys Added:

  • command.race.reset.opening_ui / command.race.reset.ui_failed
  • command.class.reset.opening_ui / command.class.reset.ui_failed
  • command.build.reset.success_self / command.build.reset.success_other / command.build.reset.by_admin
  • command.build.reset.failed / command.build.reset.opening_ui / command.build.reset.ui_failed

๐Ÿ”Œ Mod Integration System (NEW)

RPGLeveling Integration

Automatic stat synchronization with RPGLeveling mod:

  • Event-Driven Sync: Listens for level-up events and reapplies race/class bonuses
  • Additive System: Race bonuses stack with RPGLeveling stats (no conflicts)
  • Zero Dependencies: Uses reflection — works with or without RPGLeveling installed

Architecture:

  • ModIntegration.java — Main facade with auto-detection
  • RPGLevelingIntegration.java — Event handling and stat sync (all output via System.out to avoid SEVERE log issues)
  • HardcoreModeIntegration.java — Difficulty scaling API

HardcoreMode Integration

Dynamic difficulty scaling based on race and class:

Combination Multiplier Effect
Orc Berserker 1.265x +26.5% mob difficulty
Human Swordsman 1.05x +5% mob difficulty
Elf Assassin 0.855x -14.5% mob difficulty

 

Spawn Rate Modifiers: Orc/Dwarf +20% spawns, Elf/Tiefling -20% spawns.

โš–๏ธ Balance Changes

Orc — Major Buff (Pure Tank Role)

Stat Before After Change
Health +75 HP (175 total) +100 HP (200 total) +25 HP
Stamina 0 (10 total) -2 (8 total) -2 Stamina

 

Design: Orc is now the ultimate tank with the highest HP pool in the game (200). Trades stamina for raw survivability.

Dwarf — Resistance Adjustment

Stat Before After Change
Physical Resistance 30% 20% -10%

 

Slightly toned down physical resistance for better balance. Fall resistance remains at 50%.

๐ŸŽจ UI System Modernization

Complete UI Redesign (850×600px)

  • Modern Aesthetic: Gradient backgrounds, rounded corners (6-8px), hover/pressed animations
  • Color Palette: #1a1a1a backgrounds, #d4af37 gold accents, #4d8ac0 selection borders
  • Enhanced Layout: 300px list panel, 60px auto-width buttons, clear section separation
  • Reusable Components (Common.ui): @PageOverlay, @DecoratedContainer, @Title, @Subtitle, @BackButton, @TextButton, @SecondaryTextButton, @CancelTextButton, @DefaultScrollbarStyle, @SelectionCard

Fixed: UTF-8 BOM Encoding

  • .ui files must be UTF-8 without BOM — fixed all UI files to remove BOM bytes that prevented Hytale from parsing them.

Fixed: Invalid Template References

  • Replaced @PageButton (does not exist) with @SecondaryTextButton across all UI files.
  • Fixed #Title and #Content — these are Group slots in @DecoratedContainer, not Labels.

๐Ÿ› Critical Bug Fixes

Fixed: Mod Not Loading (SEVERE Log Issue)

Problem: After adding mod integrations, the plugin loaded but never "Enabled" — commands and UI didn't work.

Root Cause: RPGLevelingIntegration.java used System.err.println() and e.printStackTrace() which output as SEVERE in the Hytale log. The PluginManager treats SEVERE output during start() as a plugin failure.

Solution: Changed all System.err.printlnSystem.out.println, removed e.printStackTrace(), made error messages indicate non-fatal status.

Rule Discovered: Never use System.err or e.printStackTrace() in Hytale plugins — always use System.out.println for all mod logging.

Fixed: Hardcoded Translation Keys

  • Race UI now dynamically reads strengths/weaknesses from RaceConfig instead of hardcoded translation keys.
  • Empty slots no longer show raw keys like "race.finstermensch.strength.3".

Fixed: Race Descriptions Not Updating from Config

  • Race UI now reads descriptions from config file (like class UI already did).

Fixed: CustomUI Selector Mismatches

  • Fixed cmd.set() selectors that referenced non-existent UI element IDs.
  • Added missing IDs to .ui files: #StrengthsHeader, #WeaknessesHeader, #PrevPageButton, etc.

๐ŸŒ Translation System

Spanish Translation Added

Complete Spanish (es.json) translation — 127+ keys covering all commands, UI, races, and classes.

Supported Languages (4 total)

Code Language Status
en English โœ… Complete
pt_br Português (Brasil) โœ… Complete
es Español โœ… Complete
ru ะ ัƒััะบะธะน โœ… Complete

 

Usage: /language set es (replaces old /racesetlanguage --confirm --language=es)

๐Ÿ“š New Documentation

  • docs/UI_SYSTEM.md — Complete UI system reference (components, colors, Java integration, events)
  • docs/MOD_INTEGRATION.md — Mod integration guide (RPGLeveling, HardcoreMode)

๐Ÿ“ Files Modified/Created

Java Files (New):

  • commands/RaceCommands.java/race command with 5 subcommands
  • commands/ClassCommands.java/class command with 4 subcommands
  • commands/BuildCommands.java/build command with 4 subcommands
  • commands/LanguageCommands.java/language command with 3 subcommands
  • integration/ModIntegration.java — Integration facade
  • integration/RPGLevelingIntegration.java — RPGLeveling integration
  • integration/HardcoreModeIntegration.java — HardcoreMode integration

Java Files (Modified):

  • ui/RaceSelectionPage.java — Added raceOnly mode, dynamic config loading, fixed templates
  • ui/ClassSelectionPage.java — Fixed templates, consistent with RaceSelectionPage
  • RaceMod.java — Registers 4 unified commands + ModIntegration.initialize()
  • RaceManager.java — Updated stat application for Orc balance changes

UI Files (Modified):

  • Common/UI/Common.ui — Added 10 reusable components
  • Custom/Pages/race_selection.ui — Complete redesign (850×600), BOM removed
  • Custom/Pages/class_selection.ui — Complete redesign (850×600), BOM removed

Translation Files (Modified):

  • en.json, pt_br.json, ru.json — Added 20+ new keys for unified commands and reset UIs
  • es.jsonNEW complete Spanish translation

Java Files (Removed):

  • commands/RaceSelectCommand.java — Replaced by /race select
  • commands/TradeClassCommand.java — Replaced by /class change
  • commands/ResetClassCommand.java — Replaced by /class reset
  • commands/SetLanguageCommand.java — Replaced by /language set

๐Ÿš€ For Server Admins

Breaking Changes:

  • โš ๏ธ All old commands (/racetrade, /resetclass, /tradeclass, /racereset, /raceselect, /racesetlanguage) are removed
  • Use the new unified commands: /race, /class, /build, /language
  • If coming from pre-2026.2.9, delete races_config.json to get updated Orc stats (200 HP, -2 Stamina)

Update Steps:

  1. Replace JAR file
  2. Delete old races_config.json (to get Orc balance update)
  3. Restart server
  4. Verify with /race info and /build info

What Players Will Notice:

  • โœ… New cleaner commands (/race, /class, /build)
  • โœ… Reset commands auto-open selection UI (no manual /race select needed)
  • โœ… Modern, polished UI with hover effects
  • โœ… Spanish language available
  • โœ… Orc is now 200 HP (massive tank buff)