Skip to content

EasyNPCs v1.0.4

Choose a tag to compare

@github-actions github-actions released this 25 Jan 13:28
· 3 commits to master since this release

EasyNPCs v1.0.4

Commit: 589397b
Date: 2026-01-25

What's Changed

Refactor for DRY/KISS and fix threading issues

Threading fixes:

  • Use ConcurrentHashMap for WORLDS map (thread-safe)
  • Fix despawn race condition - cleanup now happens inside world.execute()
  • Fix cross-world teleport - apply Teleport to current world's store

DRY improvements:

  • Add CommandColors utility with shared color constants
  • Add CommandHelper with unified NPC lookup method
  • Update all subcommands to use shared utilities

KISS improvements:

  • Extract page supplier lambda into separate methods
  • Enhance getWorld() with Universe fallback
  • Use AtomicReference instead of array-in-closure pattern
  • Use POSITION_TOLERANCE constant consistently
  • Simplify NPCManager.getWorld() to delegate to EasyNPCs

Other:

  • Add save() synchronization in NPCStorage

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com


Installation

  1. Download EasyNPCs-v1.0.4.jar
  2. Place in your Hytale server's mods/ folder
  3. Restart the server