Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

HyperSpawns

DiscordGitHub

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options. Part of the HyperSystems plugin suite.

Version: 1.0.0 Game: Hytale Early Access License: GPLv3


Overview

HyperSpawns integrates directly with Hytale's native spawn suppression system to control mob spawning through named zones. Create zones with customizable boundaries (cuboid, sphere, cylinder), set spawn control modes (block, allow, deny, modify, replace), and use advanced filtering by NPC type, light level, Y level, and more.


Key Features

  • Named Spawn Zones - Create and manage named zones with unique identifiers
  • Multiple Boundary Types - Support for cuboid, sphere, and cylinder boundaries
  • Spawn Control Modes:
    • BLOCK - Completely block all mob spawning in the zone
    • ALLOW - Only allow mobs matching the filter to spawn (whitelist)
    • DENY - Prevent mobs matching the filter from spawning (blacklist)
    • MODIFY - Adjust spawn rates with a multiplier
    • REPLACE - Replace spawning mobs with a different NPC type
  • Advanced Filtering - Filter by NPC groups, roles, light level, Y level, time of day, and moon phase
  • Priority System - Overlapping zones resolved by priority
  • Efficient Spatial Indexing - O(1) average lookup using chunk-based indexing
  • Auto-save - Automatic periodic saving of zone data
  • Global Controls - Server-wide spawn rate multiplier and pause functionality

Installation

  1. Build the plugin:

    ./gradlew shadowJar
  2. Copy the built JAR to your Hytale mods folder:

    cp build/libs/HyperSpawns-1.0.0.jar ~/Documents/Hytale/mods/
  3. Start your Hytale server

  4. Verify installation:

    /hyperspawns stats
    

Quick Start

Block all spawns near spawn point

/hyperspawns pos1 -100 0 -100
/hyperspawns pos2 100 256 100
/hyperspawns zone create spawn_protection cuboid
/hyperspawns zone mode spawn_protection BLOCK

Create a sphere zone

/hyperspawns pos1 0 64 0
/hyperspawns sphere safe_zone 50

Commands

Main command: /hyperspawns (aliases: /hspawn, /spawns, /hs)

Zone Management

CommandDescriptionPermission
/hyperspawns zone create <name> [type]Create a new zone from selectionhyperspawns.zone.create
/hyperspawns zone delete <name>Delete a zonehyperspawns.zone.delete
/hyperspawns zone list [page]List all zoneshyperspawns.zone.list
/hyperspawns zone info <name>Show detailed zone informationhyperspawns.zone.list
/hyperspawns zone redefine <name>Update zone boundary from selectionhyperspawns.zone.modify
/hyperspawns zone mode <name> <mode>Set zone spawn control modehyperspawns.zone.modify
/hyperspawns zone multiplier <name> <0.0-10.0>Set spawn rate multiplierhyperspawns.zone.modify
/hyperspawns zone priority <name> <number>Set zone priorityhyperspawns.zone.modify
/hyperspawns zone enable <name>Enable a zonehyperspawns.zone.modify
/hyperspawns zone disable <name>Disable a zonehyperspawns.zone.modify

Global Controls

CommandDescriptionPermission
/hyperspawns globalShow global spawn settingshyperspawns.global
/hyperspawns global multiplier <0.0-10.0>Set global spawn rate multiplierhyperspawns.global
/hyperspawns global pausePause all mob spawning server-widehyperspawns.global
/hyperspawns global resumeResume mob spawninghyperspawns.global

Selection & Utility

CommandDescriptionPermission
/hyperspawns wandGet selection wand informationhyperspawns.wand
/hyperspawns wandmodeToggle wand selection modehyperspawns.wand
/hyperspawns pos1 <x> <y> <z> [world]Set selection position 1hyperspawns.wand
/hyperspawns pos2 <x> <y> <z> [world]Set selection position 2hyperspawns.wand
/hyperspawns sphere <name> <radius> [x y z]Create sphere zone directlyhyperspawns.zone.create
/hyperspawns reloadReload configuration and zoneshyperspawns.reload
/hyperspawns statsView spawn zone statisticshyperspawns.stats
/hyperspawns debug [on|off]Toggle debug modehyperspawns.debug

Permissions

PermissionDescriptionDefault
hyperspawns.adminFull access (wildcard)op
hyperspawns.zone.createCreate zonesop
hyperspawns.zone.deleteDelete zonesop
hyperspawns.zone.modifyModify zone settingsop
hyperspawns.zone.listList zonesop
hyperspawns.globalGlobal spawn controlsop
hyperspawns.wandUse selection wandop
hyperspawns.reloadReload configurationop
hyperspawns.statsView spawn statisticsop
hyperspawns.debugToggle debug modeop
hyperspawns.bypassBypass all zone restrictionsop

Configuration

Configuration file: mods/com.hyperspawns_HyperSpawns/config.json

{
"debugMode": false,
"autoSaveIntervalMinutes": 5,
"defaultZoneMode": "block",
"bypassPermission": "hyperspawns.bypass",
"wandItemId": "hytale:stick",
"particlesEnabled": true,
"particleViewDistance": 32,
"globalSpawnMultiplier": 1.0,
"globalSpawnPaused": false
}

See docs/CONFIGURATION.md for detailed configuration reference.


How It Works

HyperSpawns integrates directly with Hytale's native spawn suppression system through the ChunkSuppressionIntegrator. When you create a zone with BLOCK or DENY mode:

  1. Calculates affected chunks - Determines which chunks intersect with the zone boundary
  2. Creates suppression entries - Adds ChunkSuppressionEntry components to each affected chunk
  3. Registers suppressed roles - For BLOCK mode, all NPC roles are suppressed; for DENY mode, only filtered roles
  4. Updates loaded chunks - Queues updates for already-loaded chunks so changes take effect immediately

This approach is highly efficient because spawn checks are handled by Hytale's native spawning system.


Documentation

DocumentDescription
Admin GuideComplete server administrator guide
Commands ReferenceDetailed command documentation
ConfigurationAll configuration options
TroubleshootingCommon issues and solutions
Mob SpawningHow Hytale mob spawning works
ArchitectureTechnical documentation for developers

Building from Source

Requirements

  • Java 21+ (for building)
  • Java 25 (for running on Hytale server)
  • Gradle 8.12+
  • Hytale Server (Early Access)
./gradlew shadowJar

The output JAR will be in build/libs/.


Support


Credits

Developed by HyperSystemsDev

Part of the HyperSystems plugin suite:


HyperSpawns - Control Every Creature

About

A comprehensive Hytale server mod for controlling mob spawning through named zones with customizable boundaries, spawn control modes, and filtering options.

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages