- Added multi-language support (9 languages)
- Admin panel is now fully translatable (140+ translated labels including all field names, buttons and status messages)
Rarity System
- Rewards and shop items now have rarity tiers: Common, Uncommon, Rare, Epic, Legendary
- Color-coded rarity labels and visible background tinting on all reward cards
- Configurable per reward in season JSON (backward-compatible, defaults to "common")
Configurable Currency System
- 3 currency modes: internal (default tokens), item (use inventory items as currency), economy (VaultUnlocked provider)
- Configure per season: currency mode, item ID, display name, icon, economy provider
- Dynamic currency name and icon displayed everywhere (header, shop, challenges, rewards)
- Currency changes in admin panel take effect immediately without restart
Admin Page — Full In-Game Config Editor
- Brand new admin panel with 11 tabs (/spadmin panel)
- CONFIG: General, Season, Currency, Premium, XP Sources, Prestige — all settings editable inline
- CONTENT: Tiers, Challenges, Shop — create, edit, and delete season content entirely in-game
- MANAGEMENT: Player management (search, grant XP/tokens, set tier, toggle premium, reset) + Events (Double XP, season lifecycle)
- Create new seasons, start and end seasons directly from the panel
- All changes persist immediately to JSON
Visual Design Overhaul
- Reward and shop cards now use native Hytale card textures with decorative borders
- Challenge cards use a darker, more elegant background
- Strong rarity color tinting — clearly visible differences between all tiers
- Smoother XP progress bar with percent overlay
- Current tier glow highlight, completed tiers shown in green
- Challenge progress shows percentage with color gradient
- Season timer urgency colors (red/orange when ending soon)
Bug Fixes
- Fixed shop showing "purchased" message when clicking Sold Out or Not Enough
- Fixed currency mode dropdown resetting when switching tabs
- Removed redundant SOLD badge overlay
![]()
![]()
![]()
![]()
### New Features
- Per-Player Language Support — All Season Pass UI respects the player's language setting.
- LevelingCore Integration — New reward type
leveling_xpfor tier rewards.
Features
- 9 Languages: Full localization in en-US, de-DE, fr-FR, es-ES, pt-BR, ru-RU, pl-PL, tr-TR, it-IT (167+ keys per language)
- Per-Player Language Selection: Players can choose their preferred language via /kslang or in the Season Pass Settings
- Language Dropdown: Added to the Season Pass Settings page
i18n Coverage
- Season Pass Page (Player UI): ~30 data strings + all static labels (tab buttons, title, section headers, lock overlays, claim labels, premium badge, token label, shop header/hint, history, done labels) — fully translated
- Admin Page: I18nContext wrapper + ~25 data strings + admin tab labels + title
- Settings Page: All 13 static labels (title, sections, hints, APPLY/RESET buttons)
- HUD Tracker: I18nContext wrapper
- Commands: I18nContext wrapper
Bugfixes
- Shop "NOT ENOUGH" button: Displayed unresolved placeholders (You have {0}) instead of a short label
Technical
- Localization version 7 → 9 (46 new keys)
- SeasonPassI18n checks I18nContext for per-player language
- All UI entry points wrapped with I18nContext.run(playerRef, ...)
- updateStaticLabels() dynamically sets all .ui labels on every page open
- 26 new element IDs in SeasonPassBook.ui + Settings.ui for dynamic text updates
