💥Protect Area - v0.8.0 💥
🛡️ Protect builds, control PvP/PvE combat, NPC spawn, fall damage, difficulty (damage and stamina) and override permissions with granular protections. Set nter/leave titles, multi-tier permissions. Perfect for spawns, arenas, and private zones!
About 💥Protect Area - v0.8.0 💥

Protect Area v0.8.0
Protect your builds, control combat, and customize your world zones with powerful cuboid protection! Create multiple protected areas with granular control over block protection, PvP/PvE/EvP settings, fall damage, mob spawns, and custom enter/leave messages. Perfect for spawn protection, safe zones, PvP arenas, or any area where you need precise control over player interactions.
Features
🔐 Permission Overrides: Layered permission system that works alongside other permission providers (like LuckPerms). Additions work additively (alongside base layer permissions), removals work as filters (remove permissions from base layer). Separate public permissions (for anyone) and trusted permissions (for owners/trusted only) with smart precedence rules
⚔️ PvP/PvE/EvP Protection: Independent control over player-vs-player, player-vs-environment (player attacking entities), and environment-vs-player (entities attacking players) damage protection
🎯 Granular Block Protection: Separate flags for block modification, builder tools, and block interactions
🔢 Advanced Difficulty (Damage & Stamina) Modifiers: Separate modifiers for damage taken/dealt and stamina consumption, with NPC/public/trusted separation. Controle game difficulty and survival rate.
🛡️ Multi-Area Protection: Create unlimited protected areas with unique names and settings
🗺️ Multi-Region Areas: Each area can contain multiple regions (cuboids), allowing complex protected zone shapes. Add or remove regions dynamically
👥 Flexible Ownership: Multiple owners per area with trusted player system for collaborative builds
⚙️ Granular Protection Flags: Control block placement/breaking, builder tools, interactions, PvP, PvE, EvP, fall damage, and mob spawn (all/hostile/neutral/friendly) independently
🌍 Global Areas: Create world-wide protection zones that apply to entire worlds
👁️ Visual Feedback: Display area boundaries with the native selection tool visualization
💬 Custom Messages: Set enter and leave messages that players see when crossing area boundaries
🔔 Notification Preferences: Choose how protection messages are displayed - chat messages or in-game notifications
⚔️ Combat Protection: Control PvP, PvE, EvP, fall damage, and mob spawn protection (all/hostile/neutral/friendly) independently
🎯 Entity Scope Control: Protect from players only or all entities (except admins)
👑 Admin Bypass: Server operators automatically bypass all protections
💾 Persistent Storage: All areas are saved automatically and persist across server restarts
🛡️ Comprehensive NPC Spawn Protection: Three-tier protection system that proactively marks chunks as unspawnable, reactively blocks spawn jobs, and automatically removes existing NPCs from protected areas. Prevents NPCs from spawning and cleans up NPCs loaded from save files or that bypassed spawn protection (experimental)
🎮 Manual NPC Removal: Use /protect removenpcs <area-name> to manually remove all NPCs from a protected area and mark chunks to prevent respawn
Join us on Discord
Showcase
Selecting the region to be added to an area:
After protecting some areas:
Showing a protected area:
Multiple regions area:
Regions example with arena (blue) on the center and the spawn (orange) surrounding it. You can create the two areas and add the regions to them.
⚠️ NOTICE
The new mob spawn protection feature might leave some unresponsive mobs, we are working on a fix. Also, its better if you regenerate the world, as mobs saved in the chunk can show this behavior until the chunk is saved without the mobs being in the area. This doesn't affect the gameplay.
Fixed a compatibility issue with permission-changing plugins. The permission provider now gracefully handles group operations that it doesn't support, preventing crashes when used alongside other permission plugins. A more robust permission system detection and configuration system is planned for a future update.
⚠️ WARNING: SNAPSHOT VERSION
This plugin is currently in SNAPSHOT version. Features may be incomplete, unstable, or subject to breaking changes. Use at your own risk. Things may break between versions, and data loss or corruption is possible.
Installation
Copy the jar file to the mods folder of your server, restart and enjoy!
TLDR; My first area
/op self - To be able to use the /pos1 and /pos2 commands for selection (or allow using permissions)
/gamemode creative - To fly and use the creative tools :)
Use /protect create <area-name> to create a protected area (starts with no regions)
Go to one of the corners of the place you want to protect and mark it with /pos1
Go to the completely opposite corner of the area to be protected and mark it with /pos2
Use /expand, /contractselection, /protect expand, /deselect to adjust/redo the selection if needed
Use /protect addregion <area-name> to add the selection as a region to the area
Repeat the selection and addregion steps to add more regions to the same area
TLDR; Usage
Quick Start:
Create area: /protect create MyArea (creates empty area with no regions)
Select region with /pos1 and /pos2, then add it: /protect addregion MyArea
Enable protection: /protect blocks MyArea --break true
Configure combat: /protect combat MyArea --pvp true --falldamage true
Add owners: /protect addowner MyArea PlayerName
Common Commands:
/protect create <name> - Create area (no regions initially)
/protect addregion <name> - Add region from current selection
/protect removeregion <name> - Remove region containing your position
/protect blocks <name> --break true - Enable block protection
/protect combat <name> --pvp true - Enable PvP protection
/protect message <name> --enter "Welcome!" - Set enter message
/protect notification <chat|notification> - Set notification preference
/protect removenpcs <name> - Remove all NPCs from an area
/protect list - List your areas
/protect info <name> - View area details
Quick Examples:
# Protect a base with single region /protect create MyBase /pos1 100 64 200 /pos2 150 80 250 /protect addregion MyBase /protect blocks MyBase --break true --buildertools true
# Create multi-region area /protect create MyComplexBase /pos1 100 64 200 /pos2 150 80 250 /protect addregion MyComplexBase /pos1 200 64 200 /pos2 250 80 250 /protect addregion MyComplexBase
# Create safe spawn zone (global) /protect create Spawn --global /protect combat Spawn --pvp true --falldamage true --allmobspawn true /protect message Spawn --enter "Welcome to Spawn!" Admin Bypass
Players are considered admins and automatically bypass all protection checks if they meet any of the following criteria:
They are members of the OP group (experimental)
They have the * permission (wildcard permission) directly assigned
They are in any group (from any permission provider, such as LuckPerms) that has the * permission assigned (experimental)
Admin players automatically bypass all protection checks, which means:
They can modify blocks in any protected area
They can use all commands regardless of ownership
They can delete any protected area
They are not affected by PvP/PvE/EvP protection
They are not affected by damage/stamina modifiers
Note: The plugin queries all permission providers to check group permissions, ensuring compatibility with permission management systems (experimental)
Usage
/protect create <area-name> [--global]
Creates a new protected area with no regions initially. The area will be created with no protection enabled by default. Use /protect addregion to add regions, then configure protection settings, owners, messages, and scope using the subcommands below.
--global: Create a world-wide area that applies to the entire world (no regions needed)
Default behavior:
No regions (use /protect addregion to add regions)
No protection flags enabled (area starts clean)
Entity scope: players (players only)
No owners (use /protect addowner to add owners)
No enter/leave messages (use /protect message to set messages)
Examples:
# Create area (no regions yet) /protect create MyBase
# Add first region from selection - /pos command uses your position if you dont use any arguments /pos1 100 64 200 /pos2 150 80 250 /protect addregion MyBase
# Add additional regions to the same area - /pos command uses your position if you dont use any arguments /pos1 200 64 200 /pos2 250 80 250 /protect addregion MyBase
# Create global area (no regions needed) /protect create SpawnZone --global
# Then configure the area using subcommands: /protect blocks MyBase --break true --buildertools true --use true /protect combat SpawnZone --pvp true --falldamage true --allmobspawn true /protect message SpawnZone --enter "Welcome to Spawn!" --leave "You left the safe zone" /protect scope SpawnZone --entityscope all /protect addowner MyBase PlayerName /protect addregion <area-name>
Adds a region to a protected area from your current builder tool selection. Regions cannot overlap with existing regions in the same area.
Requires an active selection created with /pos1 and /pos2
Checks for overlaps with existing regions and prevents adding overlapping regions
The selection must be valid (corners must be different)
Examples:
# Create area and add first region /protect create MyBase - /pos command uses your position if you dont use any arguments /pos1 100 64 200 /pos2 150 80 250 /protect addregion MyBase
# Add more regions to create complex protected zones - /pos command uses your position if you dont use any arguments /pos1 200 64 200 /pos2 250 80 250 /protect addregion MyBase /protect removeregion <area-name>
Removes the region containing your current position from a protected area.
Finds the region containing your position and removes it
Warns if removing the last region (non-global areas with no regions won't protect anything)
You must be inside a region of the area to remove it
Examples:
# Remove the region you're currently standing in /protect removeregion MyBase /protect list
Lists the names of protected areas you have access to (as owner or trusted), or all areas if you're an admin.
/protect delete <area-name>
Delete an area. Only admins can delete areas.
/protect rename <area-name> <new-name>
Rename a protected area. Only owners can rename areas. Admins bypass ownership requirements.
The new name must be unique within the same world
Cannot rename to the same name
Area ID remains unchanged after renaming
Examples:
# Rename an area /protect rename MyBase MyNewBase
# Rename a global area /protect rename OldSpawn NewSpawn /protect info <area-name>
Get detailed information about a protected area (owners, world, regions, volume, protection mode, flags, trusted players, messages). For multi-region areas, shows all regions with their individual corners and volumes.
/protect show <area-name>
Displays all regions of a protected area visually. All regions are shown simultaneously with individual cuboid visualizations. Owners, trusted players, and admins can view areas.
Auto-Hide Timer:
The visualization automatically hides after a configurable duration (default: 60 seconds)
Configure the duration by editing protected-areas-config.json in your universe directory and setting autoShowDurationSeconds (set to 0 to disable auto-hide)
When adding a region with /protect addregion, all regions are automatically shown for the configured duration
Run the command again with the same area name to manually hide the display before the timer expires
Visualization Refresh:
When regions are added or removed, the visualization automatically refreshes for all players currently viewing the area
This ensures the display always shows the current state of the area's regions
/protect addtrust <area-name> <player-name>
Add a trusted player to an area you own. Trusted players can modify blocks in the area. Admins bypass ownership requirements.
/protect removetrust <area-name> <player-name>
Remove a trusted player from an area you own. Admins bypass ownership requirements.
/protect addowner <area-name> <player-name>
Add an owner to an area you own. Owners can modify the area settings and manage trusted players. Admins bypass ownership requirements.
/protect removeowner <area-name> <player-name>
Remove an owner from an area you own. Cannot remove the last owner (an area must have at least one owner). Admins bypass ownership requirements.
/protect combat <area-name> [--pvp <true|false|1|0>] [--pve <true|false|1|0>] [--evp <true|false|1|0>] [--falldamage <true|false|1|0>] [--allmobspawn <true|false|1|0>] [--hostilemobspawn <true|false|1|0>] [--neutralmobspawn <true|false|1|0>] [--friendlymobspawn <true|false|1|0>]
Modify combat protection settings for a protected area. At least one option must be specified.
--pvp: Enable/disable player-vs-player damage protection (no PvP damage is dealt to players in the area)
--pve: Enable/disable player-vs-environment damage protection (prevents players from attacking entities/NPCs)
--evp: Enable/disable environment-vs-player damage protection (prevents entities/NPCs from attacking players)
--falldamage: Enable/disable fall damage protection (prevents fall damage for entities in the area)
--allmobspawn: Enable/disable all mob/NPC spawn protection (blocks all NPCs - most efficient option)
--hostilemobspawn: Enable/disable hostile mob/NPC spawn protection (blocks only hostile NPCs)
--neutralmobspawn: Enable/disable neutral mob/NPC spawn protection (blocks only neutral NPCs)
--friendlymobspawn: Enable/disable friendly mob/NPC spawn protection (blocks only friendly NPCs)
Note: When --allmobspawn is enabled, it blocks all NPCs and specific mob spawn flags are ignored. You cannot enable both --allmobspawn and specific flags at the same time.
Examples:
# Enable PvP and EvP protection, disable PvE (players can't attack NPCs, but NPCs can't attack players) /protect combat SpawnZone --pvp true --pve false --evp true --falldamage true
# Global safe zone with fall damage and all mob spawn protection /protect combat SafeZone --falldamage true --allmobspawn true
# Block only hostile mobs, allow friendly NPCs /protect combat HostileFree --hostilemobspawn true --friendlymobspawn false
# Disable PvP but enable fall damage and all mob spawn /protect combat MyArea --pvp false --falldamage true --allmobspawn true
# Granular mob control: block hostile and neutral, allow friendly /protect combat MixedZone --hostilemobspawn true --neutralmobspawn true --friendlymobspawn false
# Global zone blocking all NPCs /protect combat NoMobsZone --allmobspawn true /protect blocks <area-name> [--break <true|false|1|0>] [--buildertools <true|false|1|0>] [--use <true|false|1|0>]
Modify block protection settings for a protected area. At least one option must be specified.
--break: Enable/disable block place/break/damage protection
--buildertools: Enable/disable builder tool protection
--use: Enable/disable full block interaction protection
Examples:
# Create area first, then enable block protection /protect create MyBase /protect blocks MyBase --break true --buildertools true --use true
# Allow builder tools but protect regular blocks /protect blocks SafeZone --break true --buildertools false --use true
# Disable all block protection (allow building) /protect blocks BuildZone --break false --buildertools false --use false
# Protect blocks but allow interactions /protect blocks ProtectedZone --break true --use false /protect message <area-name> [--enter <text>] [--leave <text>]
Modify enter and leave messages for a protected area. Use empty string to clear messages. At least one option must be specified.
--enter: Message to send when players enter this area (use "" to clear)
--leave: Message to send when players leave this area (use "" to clear)
Examples:
# Set welcome and goodbye messages /protect create SpawnZone --global /protect message SpawnZone --enter "Welcome to Spawn!" --leave "You left the safe zone"
# Update only the enter message /protect message MyArea --enter "Entering protected area"
# Clear the leave message /protect message MyArea --leave ""
# Set messages for a global zone /protect message GlobalSafe --enter "You entered a safe zone" --leave "You left the safe zone" /protect scope <area-name> [--entityscope <players|all>]
Modify entity scope settings for a protected area.
--entityscope: Set to players (players only) or all (all entities except admins)
Examples:
# Create area and set scope to protect from all entities /protect create MyBase /protect scope MyBase --entityscope all
# Change scope to players only /protect scope SafeZone --entityscope players
# Global zone protecting from all entities /protect create GlobalZone --global /protect scope GlobalZone --entityscope all /protect publicperms <area-name> [--add <perm1,perm2,...>] [--remove <perm1,perm2,...>] [--list] [--clear]
Modify public permission overrides for a protected area. Public permissions apply to anyone inside the area, regardless of ownership or trusted status. Permission overrides temporarily grant or deny permissions to players while they're inside the area, without modifying their actual stored permissions.
Layered Permission Model:
Base Layer: Permissions from other providers (LuckPerms, Hytale's PermissionsModule, etc.)
Area Layer: Area permissions that modify the base layer
Additions (--add): Work additively - added alongside base layer permissions (e.g., if player has "permission.A" from LuckPerms, area can add "permission.B")
Removals (--remove): Work as filters - remove permissions from the base layer (e.g., if player has "permission.A" from LuckPerms, area can remove it)
--add: Comma-separated list of permissions to grant to anyone in the area (e.g., hytale.editor.builderTools)
--remove: Comma-separated list of permissions to deny to anyone in the area (e.g., hytale.combat.pvp)
--list: List current public permission overrides for the area
--clear: Clear all public permission overrides from the area
Note:
Permission overrides are temporary and only apply while players are inside the area
Additions work alongside other providers - they don't replace base layer permissions
Removals filter out permissions from the base layer - they remove permissions that exist from other providers
If a permission appears in both additions and removals, removals take precedence
Admins (OP/wildcard) bypass all permission checks including overrides
Owners and trusted players also check trusted permissions (see /protect trustedperms)
Examples:
# Grant builder tools permission to anyone in a build area /protect publicperms BuildArea --add hytale.editor.builderTools
# Remove PvP permission from anyone in a safe zone /protect publicperms SafeZone --remove hytale.combat.pvp
# Add multiple permissions (comma-separated) /protect publicperms CreativeZone --add hytale.editor.builderTools,hytale.editor.fly
# List current public permission overrides /protect publicperms MyArea --list
# Clear all public permission overrides /protect publicperms MyArea --clear /protect trustedperms <area-name> [--add <perm1,perm2,...>] [--remove <perm1,perm2,...>] [--list] [--clear]
Modify trusted permission overrides for a protected area. Trusted permissions apply only to owners and trusted players inside the area. These take precedence over public permissions for owners/trusted players.
Layered Permission Model:
Base Layer: Permissions from other providers (LuckPerms, Hytale's PermissionsModule, etc.)
Area Layer: Area permissions that modify the base layer
Additions (--add): Work additively - added alongside base layer permissions
Removals (--remove): Work as filters - remove permissions from the base layer
--add: Comma-separated list of permissions to grant to owners/trusted in the area
--remove: Comma-separated list of permissions to deny to owners/trusted in the area
--list: List current trusted permission overrides for the area
--clear: Clear all trusted permission overrides from the area
Precedence Rules:
For regular players: Only public permissions apply (which work alongside/filter base layer)
For owners/trusted players: Trusted permissions are checked first, then public permissions if not found in trusted
Within each level: If a permission appears in both additions and removals, removals take precedence
Cross-level: If a permission is negated at public level but permitted at trusted level, trusted takes precedence for owners/trusted
Base layer integration: All area permissions (additions and removals) work with the base layer from other providers
OPs: Bypass all checks (have all permissions by default)
Examples:
# Grant special permissions to owners/trusted in an area /protect trustedperms AdminArea --add hytale.editor.builderTools,hytale.editor.fly
# Remove a permission from owners/trusted (even if public allows it) /protect trustedperms RestrictedArea --remove hytale.combat.pvp
# List current trusted permission overrides /protect trustedperms MyArea --list
# Clear all trusted permission overrides /protect trustedperms MyArea --clear
# Example: Public removes PvP, but trusted allows it for owners /protect publicperms SafeZone --remove hytale.combat.pvp /protect trustedperms SafeZone --add hytale.combat.pvp # Result: Regular players can't PvP, but owners/trusted can /protect notification <chat|notification>
Set your global preference for how protection violation messages are displayed.
chat: Protection messages appear in chat (default)
notification: Protection messages appear as notifications (like block break notifications)
This preference applies to all protection violation messages (block break, place, damage, use, and combat protection). The preference is stored per-player and persists across server restarts.
Examples:
# Use chat messages for protection alerts (default) /protect notification chat
# Use notifications for protection alerts /protect notification notification /protect expand
Expands the current builder tool selection vertically from Y: 0 to 319 (full world height). Requires an active selection created with /pos1 and /pos2. Useful for quickly creating full-height protected areas.
Example:
/pos1 100 64 200 /pos2 150 80 250 /protect expand (expands selection to Y: 0-319) /protect create MyTower /protect removenpcs <area-name>
Removes all NPCs from a protected area and marks overlapping chunks as unspawnable to prevent respawn. Only owners and admins can use this command.
This command performs two operations:
Marks chunks as unspawnable: All chunks that overlap with the protected area are marked to prevent new spawn jobs from being created
Removes existing NPCs: All NPCs currently in the protected area are removed
This is useful when:
You've just enabled mob spawn protection on an area that already had NPCs
NPCs were loaded from save files when chunks loaded
You want to manually clean up NPCs from a protected area
Note: The command only works in the current world. If the area is in a different world, you'll need to run the command from that world.
Examples:
# Remove all NPCs from a protected area /protect removenpcs MyBase
# Remove NPCs from a global area /protect removenpcs SpawnZone Creative Mode Support
The plugin works seamlessly with creative mode, but creative mode players are subject to the same protection rules as survival players. Creative mode does not automatically bypass protections.
Important Caveats
⚠️ Creative mode does NOT bypass protections: Players in creative mode must still be configured as admins, owners, or trusted players to modify blocks in protected areas.
⚠️ Protection checks are independent: The plugin checks admin/owner/trusted status and protection flags, not game mode. A creative mode player without proper permissions will be blocked just like a survival player.
Recommended Configurations
Option 1: Area Ownership/Trust (Recommended for Builders)
For collaborative builds where creative players need access to specific areas:
# Add creative player as owner /protect addowner <area-name> <player-name>
# OR add as trusted player /protect addtrust <area-name> <player-name>
# Now they can modify blocks in that specific area Best for: Collaborative builds, team projects, specific protected zones, builders working on designated areas
Option 2: Disable Protections for Build Zones
Create areas where creative players can build freely:
# Create a creative build zone /protect create CreativeBuildZone /pos1 <corner1> /pos2 <corner2> /protect addregion CreativeBuildZone
# Disable all block protections /protect blocks CreativeBuildZone --break false --buildertools false --use false
# Optionally grant creative permissions (builder tools, fly) /protect publicperms CreativeBuildZone --add hytale.editor.builderTools,hytale.editor.fly Best for: Public build zones, creative servers, unrestricted areas, designated build spaces
Option 3: Permission Overrides (Limited)
Grant creative permissions but note that protection checks still apply:
# Grant builder tools and fly permissions /protect publicperms <area-name> --add hytale.editor.builderTools,hytale.editor.fly Note: This grants the permissions to use builder tools and fly, but players still cannot modify blocks unless they're admin/owner/trusted. Protection checks are separate from permission grants.
Best for: Granting creative features (fly, builder tools) without allowing block modifications
Option 4: Admin Access (Server Administrators Only)
⚠️ Warning: OP access grants full server control and bypasses ALL protections. Only grant to trusted server administrators, not regular builders.
# Make player an admin (bypasses all protections) /op <player-name> # OR /permission add <player-name> *
# Now they can: # - Use creative mode freely # - Build anywhere including protected areas # - Bypass all protection checks automatically Best for: Server administrators only - not recommended for regular builders
Example: Setting Up a Creative Build Server
# 1. Create protected spawn area (survival players protected) /protect create Spawn --global /protect combat Spawn --pvp true --falldamage true /protect blocks Spawn --break true --buildertools true --use true
# 2. Create creative build zone (anyone can build) /protect create CreativeZone /pos1 1000 64 1000 /pos2 2000 200 2000 /protect addregion CreativeZone /protect blocks CreativeZone --break false --buildertools false --use false /protect publicperms CreativeZone --add hytale.editor.builderTools,hytale.editor.fly
# 3. Add builders as owners/trusted for specific project areas /protect create ProjectArea /pos1 500 64 500 /pos2 800 200 800 /protect addregion ProjectArea /protect blocks ProjectArea --break true --buildertools true --use true /protect addowner ProjectArea Builder1 /protect addtrust ProjectArea Builder2 /protect addtrust ProjectArea Builder3 Summary
✅ Creative mode works with the plugin
✅ Creative players follow the same protection rules as survival players
✅ Recommended: Use area ownership/trust or disable protections for build zones instead of granting OP access
✅ To allow building, configure players as owners/trusted, or disable protections for specific areas
⚠️ Creative mode alone does not bypass protections
⚠️ Permission overrides grant features but don't bypass protection checks
⚠️ OP access should be reserved for server administrators only, not regular builders
Permissions
The plugin uses Hytale's permission system to control access to commands. All permissions follow the pattern protectarea.command.protect.<subcommand>.
Command Permissions
protectarea.command.protect - Base permission for all /protect commands. Players need this to use any protect command.
protectarea.command.protect.create - Permission to create protected areas
protectarea.command.protect.list - Permission to list protected areas
protectarea.command.protect.delete - Permission to delete protected areas (admins only by default)
protectarea.command.protect.rename - Permission to rename protected areas
protectarea.command.protect.info - Permission to view detailed information about protected areas
protectarea.command.protect.show - Permission to visually display protected area boundaries
protectarea.command.protect.addtrust - Permission to add trusted players to areas
protectarea.command.protect.removetrust - Permission to remove trusted players from areas
protectarea.command.protect.addowner - Permission to add owners to areas
protectarea.command.protect.removeowner - Permission to remove owners from areas
protectarea.command.protect.blocks - Permission to modify block protection settings
protectarea.command.protect.combat - Permission to modify combat protection settings
protectarea.command.protect.message - Permission to modify enter/leave messages
protectarea.command.protect.scope - Permission to modify entity scope settings
protectarea.command.protect.publicperms - Permission to modify public permission overrides
protectarea.command.protect.trustedperms - Permission to modify trusted permission overrides
protectarea.command.protect.modifiers - Permission to modify damage and stamina modifiers
protectarea.command.protect.modifiers.players - Permission to modify player modifiers (subcommand)
protectarea.command.protect.expand - Permission to expand builder tool selections
protectarea.command.protect.addregion - Permission to add regions to protected areas
protectarea.command.protect.removeregion - Permission to remove regions from protected areas
protectarea.command.protect.notification - Permission to modify notification preferences
protectarea.command.protect.removenpcs - Permission to remove NPCs from protected areas
Modifier System Help
How Modifiers Work
Modifiers use a multiplicative system where values are multiplied:
1.0 = No change (default)
= Reduction (e.g., 0.5 = 50% less, 0.3 = 70% less)
> 1.0 = Increase (e.g., 1.25 = 25% more, 2.0 = double)
0.0 = Minimum (no damage/stamina consumption)
All modifier values must be >= 0.0 (negative values are not allowed)
Formula: newValue = originalValue * modifier
Examples:
damagetaken = 0.5 → Damage taken is multiplied by 0.5 (50% less damage)
damagedealt = 1.0 → Damage dealt is multiplied by 1 (no effect)
staminataken = 0.3 → Stamina consumption is multiplied by 0.3 (70% less stamina used)
staminataken = 1.25 → Stamina consumption is multiplied by 1.25 (12.5% more stamina used)
Modifier Types
NPC Modifiers (/protect modifiers npcs) - Apply to all NPCs in the area
Public Player Modifiers (/protect modifiers players publicmodifiers) - Apply to non-owners/trusted players
Trusted Player Modifiers (/protect modifiers players trustedmodifiers) - Apply to owners and trusted players
Modifier Separation
Public vs Trusted: You can set different modifiers for public players and trusted players independently
NPCs vs Players: NPCs and players have completely separate modifier configurations
OP Bypass: Server operators (OP group or * permission) automatically bypass all modifier effects
Usage Examples
# Make NPCs take 50% less damage /protect modifiers npcs MyArea --damagetaken 0.5
# Make public players take 50% less damage, trusted players take normal damage /protect modifiers players publicmodifiers MyArea --damagetaken 0.5 /protect modifiers players trustedmodifiers MyArea --damagetaken 1.0
# Make trusted players deal double damage /protect modifiers players trustedmodifiers MyArea --damagedealt 2.0
# Make NPCs consume 30% less stamina /protect modifiers npcs MyArea --staminataken 0.3
# View all modifier configurations /protect modifiers show MyArea What's New in v0.8.0
🛡️ Three-Tier NPC Spawn Protection System: Complete overhaul of NPC spawn protection with three complementary systems working together: Chunk Spawn Protection System: Proactively marks chunks as unspawnable when they overlap with protected areas that have mob spawn protection enabled. This prevents spawn jobs from being created in the first place, even for newly loaded chunks
Spawn Job Protection System: Reactively blocks spawn jobs that are created in protected areas, preventing NPCs from spawning. This catches spawn jobs that were created before chunks were marked or in edge cases
NPC Protection System: Reactive fallback system that removes NPCs that are in protected areas with mob spawn protection enabled. This catches NPCs that were loaded from save files, spawned before protection was enabled, or somehow bypassed the spawn protection systems
🗺️ Proactive Chunk Marking: Chunks are automatically marked as unspawnable when they overlap with protected areas, preventing new spawn jobs from being created. The system tests multiple Y levels and chunk corners to catch protected areas at different vertical positions
🚫 Intelligent Spawn Job Blocking: Spawn jobs are properly terminated using the spawn system's cleanup mechanism, preventing feedback loops and ensuring spawn statistics are correctly updated. The system marks roles as unspawnable to prevent future spawns
🧹 Automatic NPC Cleanup: NPCs in protected areas are automatically removed by the NPC Protection System. The system tracks processed entities to avoid duplicate processing and runs more aggressively during server startup to catch all NPCs
🎮 Manual NPC Removal Command: New /protect removenpcs <area-name> command allows owners and admins to manually remove all NPCs from a protected area. The command marks chunks as unspawnable to prevent respawn and provides feedback on how many NPCs were removed
🔧 Improved Mob Spawn Protection: The mob spawn protection system now works at multiple levels - chunk marking, spawn job blocking, and NPC removal - ensuring comprehensive protection against NPC spawning in protected areas
📋 Better Spawn Protection Granularity: Support for all/hostile/neutral/friendly mob spawn protection flags, with intelligent role detection to determine NPC types and apply appropriate protections
What's New in v0.7.1
🔐 Permission Overrides: Layered permission system that works alongside other permission providers (like LuckPerms). Additions work additively (alongside base layer permissions), removals work as filters (remove permissions from base layer). Separate public permissions (for anyone) and trusted permissions (for owners/trusted only) with smart precedence rules
🔗 Multi-Layered Permission Provider Integration: Implementation of a multi-layered permission provider integration that allows the mod to work seamlessly with different permission systems (LuckPerms, Hytale's PermissionsModule, etc.), querying all providers to understand base layer permissions and ensuring compatibility across various permission management setups
⚔️ Advanced Damage & Stamina Modifiers: Completely reworked modifier system with separate damage taken/dealt and stamina consumption modifiers. Set different modifiers for NPCs, public players, and trusted players
🎯 Separate Modifier Types: Control damagetaken, damagedealt, and staminataken independently for fine-grained control
👥 Public vs Trusted Separation: Apply different modifiers to public players (non-owners/trusted) and trusted players (owners/trusted) separately
🤖 NPC Support: Set modifiers specifically for NPCs, independent from player modifiers
🔢 Multiplicative System: Modifiers multiply values (1.0 = no change, 1.0 increases). All modifiers must be >= 0.0
🛡️ OP Bypass: Server operators automatically bypass all modifier effects
📋 Nested Commands: Use /protect modifiers npcs, /protect modifiers players publicmodifiers, /protect modifiers players trustedmodifiers, and /protect modifiers show for organized modifier management
✏️ Area Renaming: Rename protected areas using /protect rename <area-name> <new-name>. Only owners can rename areas, and the new name must be unique within the same world
🔐 Permissions Renaming: All command permissions have been renamed for better consistency and clarity
0.7.0 Migration from Old System
Areas created with the old modifier system (v0.6.0 and earlier) will automatically migrate:
Old damageModifier → publicModifiers.damageTaken and publicModifiers.damageDealt
Old staminaModifier → publicModifiers.staminaTaken
NPC and trusted modifiers default to 1.0 (no change)
Old modifier values of 0.0 (old default meaning "no change") are automatically converted to 1.0 (new default)
Bucket List (by feasibility)
Show titles when entering/leaving areas.
Owners and Trusted players integration to native PermissionModule groups.
Owners and Trusted players integration to native LuckPerms groups.
Review plugin's data storage structure.
Improve command tree and parameters structure.
Display areas on maps. Always show areas, show only owned/trusted, always hide certains areas, show certain areas on the map, etc.
Database integration.
Simpleclaims - flag an area as unclaimable.
Integration with other plugins: Allow other plugins to interact/use the ProtectedArea API (needs iteration on use-cases and requirements), what plugins ProtectedAres could integrate with?
Overlaping areas detection and handling. Priorities and Merging.
HyPerms, PermPlus integration
Missing API components
Improve region visualization style when displaying regions in the show command, no more green boxes
Area access control system (blocking entering and/or leaving areas)
Additional interaction protections (collateral damage, item changes, harvesting, picking plants, placing liquids, etc.)
Looking for Testers!🧪
Help us improve Protected Areas! We're actively seeking dedicated testers to help identify bugs, test new features, and provide feedback. With limited free time, we can either focus on coding or testing - and we'd love your help with the testing side!
What we're looking for:
Players willing to test new features and report bugs
Server admins who can test in real-world scenarios
Feedback on usability, edge cases, and potential improvements
Compensation can be arranged - we're open to discussing fair compensation for dedicated testers who help improve the mod. Reach out on Discord if you're interested!
License
All Rights Reserved
This plugin is provided as-is for use with Hytale servers. The author assumes no responsibility for any consequences, damages, or issues that may arise from using this plugin.
Restrictions:
This plugin may not be distributed, redistributed, or shared in other platforms than CurseForge without explicit permission from the author
Decompilation, reverse engineering, or disassembly of this plugin is strictly prohibited
Modification or external use of this plugin's code is strictly prohibited
Commercial use or sale of this plugin is strictly prohibited without authorization
Categories
Need a Server?
Run 💥Protect Area - v0.8.0 💥 on a dedicated Hytale server with easy mod management.
Get Hytale HostingFrequently Asked Questions
What is 💥Protect Area - v0.8.0 💥?
🛡️ Protect builds, control PvP/PvE combat, NPC spawn, fall damage, difficulty (damage and stamina) and override permissions with granular protections. Set nter/leave titles, multi-tier permissions. Perfect for spawns, arenas, and private zones!
How do I download 💥Protect Area - v0.8.0 💥?
You can download 💥Protect Area - v0.8.0 💥 for free from CurseForge. Click the "Download on CurseForge" button on this page to go directly to the download page.
Who created 💥Protect Area - v0.8.0 💥?
💥Protect Area - v0.8.0 💥 was created by Slartbartfast. The mod has been downloaded 672 times.
Is 💥Protect Area - v0.8.0 💥 compatible with Hytale servers?
💥Protect Area - v0.8.0 💥 is designed for Hytale and can be used on both single-player and multiplayer servers. Check the mod page on CurseForge for specific compatibility information.
How do I install 💥Protect Area - v0.8.0 💥?
To install 💥Protect Area - v0.8.0 💥: 1) Download the mod from CurseForge, 2) Place the file in your Hytale mods folder, 3) Restart the game. The mod should load automatically.
Related Gameplay Mods
View all modsWan's Wonder Weapons
WanMine
A collection of unique weapons for Hytale, new "relics" blending elemental power, dark magic, and a touch of absurdity!
Perfect Parries
narwhals
Adds a souls-like/RPG combat mechanic where if you block at the instant where you are supposed to take damage, you don't lose stamina, deflect some damage, and stun the attacker. This mod includes a stamina system similar to that of souls/RPG games.
Spellbook
DarkhaxDev
Powering your favorite mods with clean, reusable helpers and utilities.
RPG Leveling And Stats/Skills
Zuxaw_dev
An RPG leveling plugin for Hytale that adds experience points, leveling, stat allocation, and character progression with a GUI, HUD, competitive leaderboard system, and full multi-language translation support.
Lucky Mining
Buuz135
Get more ores from mining, the more you mine in a row, the more ores you get.
MMO Skill Tree
ziggfreed
(Multiple Languages) MMO Skill Tree adds an RPG-style progression system where every action you take helps you grow stronger.