▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/PvP Toggle
PvP Toggle

PvP Toggle

Combat flagging and persistent PvP preferences to pet protection and more!

17.3K
17

Title

Environment Mod Loader Modrinth CurseForge

A mod that lets players toggle PvP individually, while offering some neat extra features that I reckon you may find useful. I am also aware that quite a few mods do something similar, but I felt like I could make something beyond a simple toggle.

Features this mod offers

  • PvP preferences: Players choose whether to disable or enable PvP for themselves, which is persistent on server restart (things like combat flags, cooldowns, and the global PvP state are not).
  • Combat flagging: Works by temporarily disabling toggling upon engaging in PvP. Players who are flagged will be immediately killed when attempting to log off while they have an active combat flag. It does not account for how the player got disconnected (say, by losing connection) to avoid potential workarounds.
  • Global PvP: Force PvP on or off for all players server-wide; this takes priority over everything else.
  • Pet protect: Protect all tamed mobs from players whose PvP is off. Attackers are flagged upon damaging a tame (the pet owner’s PvP state is not factored in). Feel free to turn this off if you'd rather use a dedicated mod to handle this.
  • Forced PvP in other dimensions: Forced PvP in any dimension that isn't the Overworld.
  • LuckPerms support: Allows you to control accessibility to things.
  • Configurability: Some stuff can be configured; for info on what is configurable, go down to the configuration section.

Disclaimer

This mod ignores the pvp setting in server.properties. Stick to the newest versions of the mod, as older versions may have bugs or lack features as my work is not perfect. Make sure to read the dependencies section as well.

Dependencies

  • Fabric API
  • LuckPerms (This is entirely optional if you don't care about customizing permissions).

Commands & Permissions

Details
CommandExplanationPermission Node
/pvpToggles your PvP on or off.pvptoggle.player.toggle
/pvp <player>Change a player's PvP preference.pvptoggle.op.other.toggle
/pvp <player> timeout <duration>Prevent a player from toggling for a specified duration (in seconds).pvptoggle.op.other.timeout
/pvp statusDisplays your current PvP status.pvptoggle.player.status
/pvp status <player>View a detailed info list about a player's PvP state.pvptoggle.op.other.status
/pvp status flagToggle displaying your PvP flag timer on or off.pvptoggle.player.status
/pvp global <state> <shouldBroadcast>Set the global PvP state to on, off, or neutral. The <shouldBroadcast> argument (true or false) is for whether to announce it or not.pvptoggle.op.global
/pvp reloadReloads the configuration file.pvptoggle.op.reload

Note: Permission nodes are only available in version 1.4.0 or above.

There's also the pvptoggle.op.exempt permission node that marks you as immune against penalties such as being flagged, being put on cooldown, etc.

Once again, as was said in the dependencies section, you can completely ignore permission nodes if you do not care for customizing them via another mod like LuckPerms. All nodes labeled as "player" are available to everyone by default, while ones labeled as "op" are available to anyone with an operator permission level of 2 or higher.

Configuration

Details

Configuration file path: config/pvptoggle/pvp-toggle.json (Generated on startup).

{
  // WARNING: DO NOT COPY THIS EXAMPLE JSON
  
  // Cooldown for toggling
  "toggle_cooldown": 120.0,

  // How long one is flagged for after engaging in combat
  "combat_flag_duration": 60.0,

  // Default PvP preference for new players
  "default_pvp_preference": true,

  // Console feedback
  "broadcast_to_other_ops": false,

  // I reckon the rest is self-explanatory
  "punish_combat_log": true,
  "protect_tameables": true,
  "force_pvp_in_other_dimensions": false
}

Every setting is a boolean value (true/false) besides toggle_cooldown and combat_flag_duration, which are floats that start from 0.0 to a maximum of 9999.0 seconds.

Edit the values and restart the server or use /pvp reload to apply said changes. Delete the JSON file if it ever becomes malformed to let it regenerate.

Support

Thank you for downloading. I would really appreciate it if you could report any potential issues you encounter in the comments section of the CurseForge mod page, as I currently have no other way to receive feedback. You can also support me by sharing the mod around, as it really motivates me to work on it when there are people benefiting from its usage, no matter how small.

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:LicenseRef-All-Rights-Reserved
Опубликован:10 месяцев назад
Обновлён:4 месяца назад
Главная