UI Pages
The plugin provides two main UI pages for players.
Achievement Gallery
The Achievement Gallery (/achievements) displays all achievements with filtering, search, and progress tracking.
Layout
┌─────────────────────────────────────────────────────────────┐
│ Achievement Gallery [Search: ___] │
├─────────────────────────────────────────────────────────────┤
│ [All] [Combat] [Progression] [Exploration] [Social] [Done] │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────┐ │
│ │ [Icon] Achievement Name [Status] │ │
│ │ Description text here... │ │
│ │ Progress: ████████░░░░ 80/100 │ │
│ │ Requires: previous_achievement │ │
│ │ Reward: Title + 10x Gold │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ [Icon] Another Achievement [Locked] │ │
│ │ ... │ │
│ └─────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ [◄ Prev] Page 1 / 5 [Next ►] │
│ 47 / 487 Unlocked │
└─────────────────────────────────────────────────────────────┘
Features
Category Filters
| Filter | Description |
|---|---|
| All | Show all achievements |
| Combat | Combat-related achievements |
| Progression | Mining, crafting, building |
| Exploration | Zone discovery, distance |
| Social | Chat, playtime |
| Completed | Only unlocked achievements |
Search
- Search by achievement name
- Search by description
- Search by ID
- Search by category
- Real-time filtering
Progress Display
- Progress bar for count-based achievements
- Counter showing current/required (e.g., "80 / 100")
- Units for clarity (e.g., "162 / 300 Minutes")
- Live playtime updates in real-time
Status Indicators
| Status | Display | Description |
|---|---|---|
| Locked | 🔒 Lock icon | Prerequisites not met |
| In Progress | 📊 Progress bar | Working towards goal |
| Unlocked | ✓ Checkmark | Achievement completed |
Chain Display
For achievement chains (e.g., spider_hunter_1 → spider_hunter_5):
- Shows chain progress:
[2/5] - Only displays the next incomplete achievement
- Completed achievements move to "Completed" filter
- Current achievement marked as "Current"
Hidden Achievements
Hidden achievements (hidden: true) display as:
- Name: "???"
- Description: "???"
- Icon: Lock/mystery icon
- Revealed once unlocked
Additional Info
Custom notes appear below rewards:
┌────────────────────────────────────────┐
│ Reward: Summer Crown │
│ ⚠️ Only available during Summer Event! │
└────────────────────────────────────────┘
Pagination
- 5 achievements per page
- Previous/Next navigation
- Page indicator (Page X / Y)
- Total unlocked counter
Title Selection
The Title Selection page (/titles) lets players choose their display title.
Layout
┌─────────────────────────────────────────────────────────────┐
│ Title Selection │
├─────────────────────────────────────────────────────────────┤
│ Current Title: [Spider Slayer] [Clear Title] │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Spider Slayer [ACTIVE] │ │
│ │ From: spider_hunter_1 [Select] │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Monster Hunter │ │
│ │ From: monster_hunter_5 [Select] │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Veteran Player │ │
│ │ From: playtime_100h [Select] │ │
│ └─────── ──────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ [◄ Prev] Page 1 / 2 [Next ►] │
│ Titles: 12 / 47 Unlocked │
└─────────────────────────────────────────────────────────────┘
Features
Current Title Display
- Shows currently active title
- Color-coded with title color
- "No title" if none selected
Clear Title Button
- Remove current title
- Returns to default nametag
Title List
For each unlocked title:
- Title name with color
- Source achievement ("From: achievement_id")
- Select button to activate
- Active indicator for current title
Title Colors
Titles display in their configured color:
"title": {
"id": "spider_slayer",
"color": "#FF5555" ← Title appears in red
}
Statistics
- Total unlocked titles
- Available titles from achievements
- Percentage completion
Pagination
- Multiple titles per page
- Previous/Next navigation
- Page indicator
Toast Notifications
When an achievement is unlocked, a toast notification appears.
Layout
┌────────────────────────────────────────────┐
│ [Icon] Achievement Unlocked! │
│ Spider Hunter │
│ Title: Spider Slayer │
│ Reward: 10x Gold │
└────────────────────────────────────────────┘
Features
- Auto-hide after configured duration
- Queue system for multiple achievements
- Icon from achievement iconItem
- Title reward if applicable
- Item rewards listed
Configuration
"notifications": {
"displayMode": "banner", // "chat", "banner", or "both"
"displayDurationMs": 5000, // 5 seconds
"showRewardsInBanner": true
}
MHUD Compatibility
With MHUD installed:
- Toast notifications work alongside other plugin HUDs
- No conflicts or crashes
- Multiple toasts can queue
Without MHUD:
- Only one Custom HUD at a time
- If another plugin uses HUD, toasts are skipped
- Chat notifications still work
Localization
All UI text is localized:
English (en-US)
achievements.ui.gallery=Achievement Gallery
achievements.ui.search=Search...
achievements.ui.all=All
achievements.ui.completed=Completed
achievements.ui.locked=Locked
achievements.ui.progress=Progress
achievements.ui.requires=Requires
achievements.ui.reward=Reward
achievements.ui.title=Title
achievements.ui.prev=Previous
achievements.ui.next=Next
achievements.ui.page=Page
achievements.ui.unlocked=Unlocked
German (de-DE)
achievements.ui.gallery=Erfolge
achievements.ui.search=Suchen...
achievements.ui.all=Alle
achievements.ui.completed=Abgeschlossen
achievements.ui.locked=Gesperrt
achievements.ui.progress=Fortschritt
achievements.ui.requires=Benötigt
achievements.ui.reward=Belohnung
achievements.ui.title=Titel
achievements.ui.prev=Zurück
achievements.ui.next=Weiter
achievements.ui.page=Seite
achievements.ui.unlocked=Freigeschaltet
UI Files
The plugin uses Hytale's UI system:
Common/UI/Custom/Pages/Achievements/
├── AchievementGallery.ui ← Gallery layout
├── AchievementToast.ui ← Toast notification
└── TitleSelection.ui ← Title picker
These files define the visual structure. The Java code populates content dynamically.