90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

Create Zones in which combat, damage, projectiles and hostile mobs are disabled!

This datapack is heavily performance optimized to ensure it runs well even on low-end servers.

The light version features slightly better performance, but slightly fewer features.

Features

Create spherical safezones of 6 different sizes:

  • Size 1 with a 15 block radius
  • Size 2 with a 31 block radius
  • Size 3 with a 47 block radius
  • Size 4 with a 63 block radius
  • Size 5 with a 79 block radius
  • Size C with a 45 block radius by default - This is here to be customized within the files.

Check the Commands below to learn how to create safezones among many other things.

Inside a safezone, these rules apply:

  • Players in survival & adventure mode cannot take or deal damage.
  • Hostile mobs will disappear instantly without dropping loot.
  • Most projectiles are instantly deleted. Exceptions are ender pearls, player-thrown breeze charges and snowballs.
  • Tridents will instantly drop to the ground.
  • The area inside is safe from explosions and fire from lightning strikes.

But beware, a fire from outside a safezones could spread inside if the blocks along its border allow it.

Additional features

  • Allow certain hostile mobs inside safezones
  • Freeze the movement of certain mobs
  • Make mobs invulnerable to damage from players in survival & adventure mode
  • Show & hide the center of a safezone
  • Many additional QoL commands

Presentation

  • Projectiles bounce off a magic barrier, creating blue sparks and a high-pitch shattering sound.
  • Hostile mobs have their soul drained from them as they are pulled underground upon entering a safezone.
  • All safezone commands have additional feedback to make understanding them easier.

Compatability

Safezones also block the usage of weapons from Incendium and Spellbound Weapons.

Commands

General Commands

/function safezone:cmd/help

  • Displays a list of all available safezone commands.

/function safezone:cmd/create/size[1-5]

  • Creates a safezone of a designated size.

/function safezone:cmd/move/safezone

  • Moves the nearest safezone to your position.

/function safezone:cmd/tp/safezone

  • Teleport to the nearest safezone.

/function safezone:cmd/delete/nearest

  • Deletes nearest safezone.

/function safezone:cmd/delete/nearby

  • Deletes all safezones within 100 blocks.

/function safezone:cmd/delete/all

  • Deletes all currently loaded safezones.
Make safezones visible When a safezone is made visible, soulflame particles will appear at its center once you are within its range.

This makes understanding their range easier and can help locating them.

/function safezone:cmd/show/nearest

  • Shows the center of the nearest safezone.

/function safezone:cmd/show/nearby

  • Shows the center of all safezones within 100 blocks.

/function safezone:cmd/show/all

  • Shows the center of all currently loaded safezones.

/function safezone:cmd/hide/nearest

  • Hides the center of nearest safezone.

/function safezone:cmd/hide/nearby

  • Hides the center of all safezones within 100 blocks.

/function safezone:cmd/hide/all

  • Hides the center of all currently loaded safezones.
Anti-Grief for safezones inside spawnchuncks

To save server performance, safezones are only active if players are nearby.

If a safezone is inside always loaded spawnchunks, certain entities could grief the spawn area, if there are no players nearby.

To prevent this, make it a spawn safezone:

/function safezone:cmd/add/spawn

  • Always active Anti-Grief for the nearest safezone.

/function safezone:cmd/remove/spawn

  • Regular Anti-Grief for the nearest safezone.

/function safezone:cmd/move/safezone

  • Moves the nearest spawn safezone to your position.

/function safezone:cmd/tp/safezone

  • Teleport to the nearest spawn safezone.
Make Entities invulnerable to players in survival & adventure mode

/function safezone:cmd/add/invulnerable

  • Makes the nearest entity invulnerable.

/function safezone:cmd/remove/invulnerable

  • Makes the nearest entity vulnerable.

/function safezone:cmd/move/invulnerable

  • Moves the nearest invulnerable entity safezone to your position.

/function safezone:cmd/tp/invulnerable

  • Teleport to the nearest invulnerable entity.
Allow certain entities inside safezones

/function safezone:cmd/add/allowed

  • Allows nearest entity inside safezones.

/function safezone:cmd/remove/allowed

  • Disallows nearest entity inside safezones.

/function safezone:cmd/move/allowed

  • Moves the nearest allowed entity to your position.

/function safezone:cmd/tp/allowed

  • Teleport to the nearest allowed entity.
Freeze the movement of certain entities

/function safezone:cmd/add/frozen

  • Freezes movement of nearest entity.

/function safezone:cmd/remove/frozen

  • Unfreezes movement of nearest entity.

/function safezone:cmd/move/frozen

  • Moves the nearest frozen entity to your position.

/function safezone:cmd/tp/frozen

  • Teleport to the nearest frozen entity.
Make all entities invulnerable inside safezones

/function safezone:cmd/add/entity_resistance

  • Entities in the nearest safezone no longer take damage.

/function safezone:cmd/remove/entity_resistance

  • Entities in the nearest safezone now take damage.
Make all entities deal no melee damage inside safezones

/function safezone:cmd/add/entity_weakness

  • Entities in the nearest safezone no longer deal melee damage.

/function safezone:cmd/remove/entity_weakness

  • Entities in the nearest safezone now deal melee damage.

Excluded from light version:

Make all players invulnerable inside safezones

This is on by default.

/function safezone:cmd/add/player_resistance

  • Players in the nearest safezone no longer take damage.

/function safezone:cmd/remove/player_resistance

  • Players in the nearest safezone now take damage.
Make all players deal no melee damage inside safezones

This is on by default.

/function safezone:cmd/add/player_weakness

  • Players in the nearest safezone no longer deal melee damage.

/function safezone:cmd/remove/player_weakness

  • Players in the nearest safezone now deal melee damage.

Installing

As with any datapack, use /reload after placing SafeZone.zip in the datapacks folder of your world to activate it.

Uninstalling

This Datapack does not need to be uninstalled before deletion.

Run /function safezone:cmd/delete/all to delete all currently loaded safezones.

Feedback

Feel free to give me bug reports, feature ideas or other feedback on my Discord Server.


Project members

rbnskii

Member

Details

Licensed ARR
Published 2 months ago
Updated a month ago