Essentials Plus | The Essential Server Toolbox

THE comprehensive Hytale Essentials mod every server needs! [ HOME, WARP, KIT, SPAWN, ECONOMY, TPA, RTP, BACK, VANISH, FREEZE, MUTE, TEMPBAN, FLY, GOD, HEAL, REPAIR, BROADCAST, CLEARCHAT, WHOIS, LIST, NEAR, DISCORD, CHAT COLORS, MONEY SYSTEM & much more! ]

File Details

EssentialsPlus-1.18.0.jar

  • R
  • Apr 20, 2026
  • 1.18 MB
  • 280
  • Early Access

File Name

EssentialsPlus-1.18.0.jar

Supported Versions

  • Early Access

📝 Changelog

Version 1.18.0

📦 Spawn Migration Note This update automatically migrates your existing spawn data. The migration has been thoroughly tested, everything should continue to work as before. It's still worth a quick check after updating to confirm your spawns behave as expected. New permissions have been added for the new commands introduced in this update. All existing spawn permissions remain unchanged, no adjustments needed there.

✨ Improvements:

  • 🌟 Spawn System Overhaul

    • What this means for server admins: You can now control spawn behavior much more precisely, without custom workarounds.
    • What this means for players: Teleports feel more predictable because spawn targets are resolved consistently.
      • /setspawn sets the main spawn by default.
      • /setspawn world sets the world spawn for the executing player's current world.
      • /setspawn firstjoin and /setspawn group <group> are available for advanced targets.
      • Added structured deletion command family:
        • /delspawn
          • /delspawn main
          • /delspawn world <world>
          • /delspawn firstjoin
          • /delspawn group <group>
      • Added /spawn main, optional player support for /spawn, /spawn main, /spawn world, and /spawn list.
      • Added dedicated permission for world spawn teleport: essentialsplus.spawn.world.self.
      • Added /spawn firstjoin — teleports directly to the configured first-join spawn (permission: essentialsplus.spawn.firstjoin.self).
      • Added /spawn group [group] — teleports to your own group's spawn; respects the inheritedGroupSpawns setting (permission: essentialsplus.spawn.group.self).
  • 🧠 Unified Spawn Resolver (Order-Based)

    • /spawn, /spawn <player>, /spawn all, join teleport, first-join handling, and death teleport now share one resolver pipeline.
    • Resolution runs through ordered fallback lists and uses the first matching target.
    • You can now decide where players should go:
      • when they use /spawn
      • when they join the server
      • when they respawn after death
    • Practical selection rule:
      • /spawn* uses spawn.spawnCommandOrder
      • real joins use spawn.joinTeleportOrder
      • death/respawn uses spawn.deathTeleportOrder
      • matching spawn.worldOverrides[*].order replaces the global order for that world
    • Small examples:
      • spawnCommandOrder = ["GROUP", "MAIN", "WORLD"] → if no group spawn exists but main spawn exists, /spawn picks MAIN.
      • joinTeleportOrder = ["FIRSTJOIN", "DEFAULT"] → if it is not the first-join, join handling falls through to Hytale default via DEFAULT.
      • deathTeleportOrder = ["WORLD", "MAIN", "DEFAULT"] → after death, players go to the world spawn first; if not configured, they fall back to main spawn.
  • ⚙️ New Spawn Configuration Block (spawn.*)

    • Admin benefit: You can implement server-specific policies like “new players go to tutorial spawn” or “respawns stay world-local”.
      • Added order lists:
        • spawn.spawnCommandOrder
        • spawn.joinTeleportOrder
        • spawn.deathTeleportOrder
      • Set joinTeleportOrder default to ["FIRSTJOIN", "DEFAULT"].
      • Set deathTeleportOrder default to ["DEFAULT"].
      • Added explicit handoff step DEFAULT (lets Hytale handle the spawn behavior).
      • Added per-world override entries via spawn.worldOverrides.
      • Added a default example entry for worldOverrides using a non-existing world name.
  • 🧩 Implicit World Spawn Creation

    • Missing world spawns are now auto-created from the world's Hytale default spawn and persisted to spawns.json.
    • Trigger points:
      • /spawn world [world] usage
      • startup initialization for currently loaded worlds
      • world-step checks during order-based spawn resolution
    • Set spawn.autoCreateWorldSpawns to false to disable this behavior and keep full manual control over all spawn entries.

Example (config.json excerpt):

"spawn": {
  "spawnCommandOrder": ["GROUP", "MAIN", "WORLD"],
  "joinTeleportOrder": ["FIRSTJOIN", "DEFAULT"],
  "deathTeleportOrder": ["DEFAULT"],
  "worldOverrides": [
    {
      "worldName": "example-world-name",
      "order": ["WORLD"]
    }
  ],
  "inheritedGroupSpawns": true,
  "autoCreateWorldSpawns": true
}