premium banner
Achievement System for Hytale with Titles and Rewards full customizable. Integrations with MMO Addons and more!

Description

KyuubiSoft Achievement System

kyuubisoft

A comprehensive achievement and title system for Hytale servers — 200+ achievements across 6 categories, 80+ unlockable titles, achievement chains with grouped display, a HUD tracker, achievement points as shop currency, a full in-game admin panel, and complete localization support.


Features

200+ Achievements

Achievements across 6 categories — each with tiered chains and unique rewards:

  • Combat — Monster hunting chains, boss kills, PvP milestones, specific creature hunts
  • Progression — Mining, crafting, building chains with tiered rewards
  • Exploration — Zone discovery, distance traveled, world exploration
  • Social — Chat milestones, playtime achievements, community engagement
  • Husbandry — Animal taming, fishing, farming progression
  • Secret — Hidden achievements with fun references

80+ Unlockable Titles

  • Unlock titles by completing achievements
  • Display titles above your name or as chat prefix
  • Select your active title via the Title Selection UI
  • Titles come in various rarities with unique colors
  • Clear your title at any time

Achievement Chains

Achievement chains like "Miner I -> II -> III -> IV" are displayed as a single entry:

  • Progress indicator shows completion at a glance
  • Shows what's needed for the next tier
  • Reduces UI clutter while maintaining full information
  • Track button follows the chain — always tracks the next unfinished tier

Achievement Points

Earn points for every achievement you unlock:

Difficulty Points
Normal 10
Hard 25
Epic 50
  • Shop currency — spend achievement points in the Core shop system
  • Cross-mod — other mods can query and modify points via the API
  • Persistent — points saved per player

Achievement Gallery

Open with /ksachievements — browse all achievements in a beautiful gallery UI.

  • Category tabs with achievement counts
  • Chain grouping — chains displayed as single expandable entries
  • Difficulty badges with color coding (Normal, Hard, Epic)
  • Unlock dates — completed achievements show their unlock date
  • Reward preview — see rewards before unlocking
  • Track/Untrack — pin achievements to the HUD
  • Quick-access buttons — jump to Titles, Rewards, or Settings
  • Custom icons — pixel-art icons for all buttons and navigation
  • Pagination with icon-based Previous/Next buttons

HUD Tracker

Real-time achievement progress on screen.

  • Track up to 3 achievements simultaneously
  • Shows achievement name, progress count, and percentage (e.g. "15/50 — 30%")
  • Difficulty color indicators — Normal (brown), Hard (gold), Epic (purple)
  • Auto-untrack — achievements are removed from the tracker when unlocked
  • Chain support — tracking automatically follows to the next tier
  • 6 position presets + custom X/Y positioning
  • Per-player settings — each player saves their own HUD preferences
  • MHUD-compatible (separate identifier from Quest Tracker)

Achievement Settings

  • Toggle HUD on/off
  • Choose position preset or set custom coordinates
  • Toggle progress display
  • Live preview while adjusting
  • Apply/Reset buttons

Rewards System

  • Item Rewards — receive tools, weapons, armor, materials
  • Title Rewards — unlock exclusive titles
  • Lootbag Rewards — random loot via Core's lootbag system
  • Command Rewards — execute commands on unlock
  • Pending Rewards — unclaimed rewards are saved and can be collected later
  • "Collect All" button — claim all pending rewards at once (including lootbags)

Achievement Book Item

  • Physical in-game item that opens the Achievement Gallery on right-click
  • Configurable: enable/disable, custom item ID, hotbar slot, give on first/every join
  • Duplicate check — item is only given if the player doesn't already have one

NPC Integration

  • NPC Interact tracking — talk to specific NPCs for achievement progress
  • Dialog Complete tracking — finish dialog conversations for achievements
  • Dialog Conditions — show/hide dialog options based on achievement status (achievement_unlocked, achievement_count)

Trigger Types

Trigger Description Example Targets
kills Kill mobs/creatures Goblin_*, Fen_Stalker, any_mob
player_kills PvP kills player
blocks_mined Mine blocks Ore_*, Rock_Stone, any
blocks_placed Place blocks Bench_Furnace, any
blocks_harvested Harvest with F-key Plant_Crop_*, any
items_crafted Craft items Weapon_Sword_*, Potion_*
items_collected Collect items (inventory) Ore_*, @consumable
damage_dealt Deal damage any, any_mob, specific mob
damage_taken Take damage any, cause type
zones_discovered Discover zones Forgotten_Temple, any
distance_walked Distance traveled any
playtime_minutes Time played any
flowers_picked Pick flowers Plant_Flower_*, any
npc_interact Talk to NPC NPC citizen ID
dialog_complete Finish dialog Dialog ID
full_armor_set Wear complete set Armor set ID
manual Admin command / script
auto_on_prerequisites Auto-unlock when prerequisites met

Anti-exploit: PlacedBlockTracker prevents mining self-placed blocks (30min expiry).


Admin Panel

Accessible through /ksachievementadmin panel or the Core Admin Dashboard — full in-game configuration.

7 Tabs

Tab Description
General Language, display settings, permissions, general options
Display Chat format, nametag format, broadcast settings
Notifications Toast, chat, sound, and broadcast settings
Tracking Anti-exploit settings, tracking intervals
Admin Export data, manage player data
Prefixes Group prefix CRUD with LuckPerms import
Achievements Browse, create, edit, copy, delete achievements

Achievement Editor

  • Full CRUD for custom achievements
  • Visual item picker for icons and reward items
  • Multi-language editing (EN, DE, FR) for names, descriptions, and titles
  • Up to 10 rewards per achievement with dynamic slot management
  • Prerequisite editor for achievement chains
  • Standard achievements are read-only — clone as custom to modify

Working Copy System

  • All changes held in memory until SAVE is clicked
  • Asterisk indicator shows unsaved changes
  • Cancel discards all pending changes
  • Reload from Disk reloads the file without restarting

Commands

Player Commands

Command Aliases Description
/ksachievements Open the Achievement Gallery
/kstitles /title Open the Title Selection UI
/kstitles clear Remove your active title
/ksrewards /reward, /rw Open pending rewards
/kslootbags /lb, /lootbag Open lootbag inventory

Admin Commands

Command Description
/ksachievementadmin panel Open Admin Panel
/ksachievementadmin grant <player> <achievement> Grant an achievement
/ksachievementadmin revoke <player> <achievement> Revoke an achievement
/ksachievementadmin list <player> View player achievements
/ksachievementadmin simulate <trigger> Test trigger conditions
/ksachievementadmin reload Reload configuration

Permission: achievements.admin


Configuration

KyuubiSoft-Achievements/
├── config.json                    # Main settings (display, notifications, tracking)
├── configs/
│   └── achievements.json          # Standard achievement definitions (200+)
├── custom/
│   ├── custom_achievements.json   # Your custom achievements
│   └── custom_lootbags.json       # Your custom lootbags
├── data/
│   └── <uuid>.json                # Per-player data (auto-managed)
└── localization/
    ├── en-US.json                 # English translations
    ├── de-DE.json                 # German translations
    └── fr-FR.json                 # French translations

Achievement Definition Example

{
  "id": "dragon_slayer_fire",
  "category": "combat",
  "iconItem": "Weapon_Sword_Adamantite",
  "difficulty": "epic",
  "title": { "id": "dragonslayer", "color": "#FF0000" },
  "trigger": { "type": "kills", "target": "Dragon_Fire", "count": 1 },
  "rewards": [
    { "type": "item", "itemId": "Ore_Adamantite", "amount": 10 },
    { "type": "lootbag", "lootbagId": "dragon_hoard" }
  ]
}

For Mod Developers

Access the Achievement System through the public AchievementAPI:

AchievementAPI api = AchievementAPI.getInstance();

// Event Listeners
api.onAchievementUnlocked((player, achievementId) -> { ... });

// Queries
boolean unlocked = api.isUnlocked(player, "dragon_slayer");
int points = api.getAchievementPoints(player);

// Points Management
api.addAchievementPoints(player, 50);
api.spendAchievementPoints(player, 25);

// Title Management
api.setActiveTitle(player, "dragonslayer");
String titleName = api.getTitleDisplayName("dragonslayer");

Localization

  • Auto-discovery — all .json files in the localization folder are automatically loaded
  • Shipped with: English, German, and French
  • All UI text, tooltips, admin panel labels, and command messages fully translated
  • JSON-based translation files — easy to add new languages

Compatibility

  • Integrates with: Quest System, LuckPerms, MHUD
  • Server: Hytale Dedicated Server
  • Java: 21+

Support

Made with Love by KyuubiSoft