SpawnProtectionTweaks

Modrinth Download Count License

Adds in-game spawn protection settings manipulation

This mod adds the ability for fabric servers to change spawn protection settings on the fly overriding the vanilla configuration.

Server-side

This mod can be used on both server and client however it is not required to install it on the client. The only difference in behaviour is that compatible clients are not bound to the en_us locale and can get translations based on their selected language.

Since version 0.4 this is no longer the case. The server will detect the client's set language and use it to translate the messages. Currently, only en_us is supported though.

Due to incompatibilities with specific fabric-api versions that feature has been put on ice. Version 0.4 introduced that feature, version 0.4.1 removed it.

Version support

With the release of 1.18, the 1.17 version will only be fully supported until the end of January 2022 with potential bugs being fixed until the end of March 2022.

Permissions

SpawnProtectionTweaks supports permissions mods like LuckPerms and other mods supporting the Fabric Permission API. The permission nodes are formatted in the form spawnprotectiontweaks.<subcommand>.<operation> I.e. spawnprotectiontweaks.dimensions.list

There is an override permission allowing players to bypass spawn protection: spawnprotectiontweaks.override.

The mod is licensed under the MIT License

Commands

Enable / Disable Spawn Protection

  • /spawnprotectiontweaks enabled set <true/false>
  • /spawnprotectiontweaks enabled query

Configure the radius of the Spawn Protection

  • /spawnprotectiontweaks dimensions radius set <dimensionid> <value>
  • /spawnprotectiontweaks dimensions radius query [dimensionid]

Configure the centre of the Spawn Protection

  • /spawnprotectiontweaks dimensions centre set <dimensionid> <value>
  • /spawnprotectiontweaks dimensions centre query [dimensionid]

Configure the action bar alert

  • /spawnprotectiontweaks dimensions actionbar set <dimensionid> <true/false>
  • /spawnprotectiontweaks dimensions actionbar query [dimensionid]

Configure the default dimension specific config

  • /spawnprotectiontweaks dimensions set <actionbar/radius/centre> <value>
  • /spawnprotectiontweaks dimensions query <actionbar/radius/centre>

List all dimensions not using the default config

  • /spawnprotectiontweaks dimensions list

List all dimensions

  • /spawnprotectiontweaks dimensions list all

Most query commands should be usable in command blocks if anyone wishs to use them.

Config

Config exclusive options:

  • alias: sets an optional alias to the spawnprotectiontweaks command
  • advancedEventOptions: Switches the mod to use a new event based system instead of relying on vanilla to catch the actions (in development!)
  • eventConfig (dimension specific, only active if advancedEventOptions is enabled):
    • preventAttackingBlocks: Prevents attacking blocks in the dimension
    • preventUsingBlocks: Prevents using blocks in the dimension
    • preventAttackingEntities: Prevents attacking entities in the dimension
    • preventUsingEntities: Prevents using entities in the dimension
    • preventUsingItems: Prevents using items in the dimension. Disabling while also disabling preventUsingBlocks and enabling preventAttackingBlocks this will enable players to use flint & steel without being able to remove the fire. Disabling this might also cause desync when players try to use bows without infinity.
    • preventBreakingBlocks: Prevents breaking blocks in the dimension

The new event based system uses a different permission system: spawnprotectiontweaks.interaction.<dimensionid>.<action>.<target> for example: spawnprotectiontweaks.interaction.minecraft:overworld.use.block or spawnprotectiontweaks.interaction.minecraft:overworld.attack.player however I didn't thoroughly test this yet.