Skip to content

Latest commit

 

History

History
105 lines (80 loc) · 5.39 KB

File metadata and controls

105 lines (80 loc) · 5.39 KB

Endgame & QoL

CurseForge Discord Ko-fi

Hytale server plugin adding endgame content: bosses, weapons, dungeons, NPCs, crafting, and quality-of-life features.

Features

  • 3 Boss encounters — Dragon Frost, Hedera, Golem Void with multi-phase AI and player scaling
  • 40 Weapons — Longswords, daggers, spears, staves, battleaxes, maces, shields, bows across 7 material tiers
  • 3 Dungeons — Frozen Dungeon, Swamp Dungeon, and Void Realm with unique enemies, traders, and loot
  • 3 Armor sets — Mithril, Onyxium, Prisma (helmet, chestplate, leggings, boots)
  • 6 Accessories — Trinket Pouch with Frostwalkers, Ocean Striders, Void Amulet, Blazefist, Pocket Garden, Hedera Seed
  • Journal/eg journal with 3 tabs: Bounty Board (daily/weekly quests, reputation), Bestiary (32 NPCs with kill milestones), Achievements (42 across 8 categories)
  • Combo Meter — Kill streak tracker with tier effects (Adrenaline, Precision, Bloodlust)
  • Custom Trade UI — Merchant interface with item icons, stock display, and purchase notifications
  • Native Config UI/eg config with global search, 7 setting tabs, and full recipe override editor
  • Warden Trials — 4-tier wave survival challenge
  • Multi-language — EN, PT-BR, RU, FR, ES (FR/ES active via "Use System Language" setting)
  • Database support — Optional SQL persistence (SQLite, MySQL, MariaDB, PostgreSQL)

Requirements

  • Java 25 (auto-provisioned by Hygradle — JetBrains Runtime with hot-reload support)
  • Hytale Server 2026.03.26 or later

Dependencies

Dependency Type Bundled in JAR Source
Hytale:NPC Required No (engine) Built-in
HyUI Required Yes (shaded) CurseForge
HikariCP Internal Yes (shaded) Maven Central
RPGLeveling Optional No CurseForge
EndlessLeveling Optional No CurseForge
OrbisGuard Optional No CurseForge

HyUI and HikariCP are bundled inside the plugin JAR via shadow/shading — no separate download needed. Optional dependencies go in your server's Mods/ folder.

Development Setup

This project uses Hygradle for build tooling, authentication, and dev server management.

Build

./gradlew compileJava       # Compile only (fast check)
./gradlew build             # Full build + shadow JAR + auto-deploy to Mods folder
./gradlew shadowJar         # Shadow JAR only (no deploy)

Dev Server (with hot-reload)

./gradlew startDevServer    # Build, authenticate, and launch server with hot-reload

First run will:

  • Download the JetBrains Runtime JDK 25 (supports hot-reload)
  • Download Hytale server assets
  • Open your browser for OAuth authentication

Subsequent runs reuse cached JDK, assets, and auth tokens.

Hot-reload workflow:

  1. Start the dev server: ./gradlew startDevServer
  2. Make code changes
  3. In another terminal: ./gradlew compileJava
  4. Changes apply live — no server restart needed for method body changes

Project Structure

src/main/java/endgame/plugin/
  EndgameQoL.java          # Main plugin class
  commands/                 # Slash commands (/eg config, /eg admin, /eg bounty, etc.)
  components/               # ECS components
  config/                   # BuilderCodec config system
  database/                 # Optional SQL persistence
  events/                   # Event handlers + domain events (GameEventBus)
  integration/              # Optional mod bridges (RPGLeveling, EndlessLeveling, OrbisGuard)
  managers/                 # Game managers (boss, combo, gauntlet, bounty, achievement)
  migration/                # Data migration helpers
  services/                 # Domain services (sound)
  spawns/                   # NPC spawn systems
  systems/                  # ECS systems (boss, weapon, effect, trial, accessory)
  ui/                       # Native .ui pages, HyUI HUD, config UI
  utils/                    # Utilities
  watchers/                 # Entity watchers (temple events)

src/main/resources/
  manifest.json             # Plugin manifest
  Server/                   # Server-side JSON assets (items, NPCs, drops, instances, etc.)
  Common/                   # Client-side shared assets (models, textures, icons, UI, docs)

Wiki

License

This project is licensed under the GNU General Public License v3.0. You are free to use, modify, and redistribute this project under the terms of the GPL v3. Any derivative work must also be released under the same license.