Описание
### **A lightweight fabric server mod to make PvP fairer and prevent combat-logging.**
_Ethically sourced and GMO-free!_ Consider downloading on [Modrinth](https://modrinth.com/project/BGmYkhnA) to support this project.

## Features:
- Compatible with PvP and PvE
- Combat disconnect punishing
- Reduced health to half a heart (can be configured to instantly kill)
- Reduced absorption
- Poison
- While combat tagged
- TP cooldown (ender pearls and chorus fruit)
- By default, the cooldown starts as soon as the player enters combat
- Enchanted golden apple cooldown
- By default, the cooldown only starts after eating the first enchanted golden apple
- Elytras disabled while combat tagged
- Command blacklist (e.g., /home, /spawn, /tpa)
- Red username
- Bar to indicate how long until the player's combat tag expires
- **Fully configurable**
### Note:
An unexpected server shutdown **will** count as a disconnect (stopping the server gracefully will not).
By default, /teammsg and /team are disabled
- All players in combat are put on a "combat" team for the sake of username colouring
- Disabling username colouring also re-enables these commands
## Configuration Options
Found in `./config/CombatTag.json`
|Key|Type|Default|Description|
|---|---|---|---|
|CombatDurationSec|Float|20.0|How long the combat tag should last for|
|CombatTpCooldownSec|Float|10.0|How long the cooldown for enderpearls and chorus fruits should be during combat|
|CombatNotchAppleCooldownSec|Float|10.0|How long the cooldown for enchanted golden apples should be during combat|
|HealthRemainingPunish|Float|1.0|How much health the player should have upon reconneccting while combat tagged|
|AbsorptionRemainingPunish|Float|0.0|How much absorption the player should have upon reconnecting while combat tagged|
|PoisonDurationSec|Float|20.0|How long the player should be poisoned for upon reconnecting while combat tagged|
|PoisonLevel|Integer|5|The amplification level of the poison effect upon reconnecting while combat tagged|
|OnlyTagWeapons|Boolean|false|Whether combat tags should only apply when taking weapon/TNT/crystal damage (full list of weapons [here](https://github.com/aicheye/combat-tag/blob/master/src/main/java/name/modid/CombatTag.java#L40))|
|EnableTagOnAttack|Boolean|true|Whether the attacker should be tagged in PvP|
|EnablePveTagOnDamage|Boolean|false|Whether the damaged player should be tagged in PvE|
|EnablePveTagOnAttack|Boolean|false|Whether the attacking player should be tagged in PvE|
|EnableHealthPunish|Boolean|true|Whether the player should lose health upon reconnecting while combat tagged|
|EnableAbsorptionPunish|Boolean|true|Whether the player should lose absorption upon reconnecting while combat tagged|
|EnablePoisonPunish|Boolean|true|Whether the player should be poisoned upon reconnecting while combat tagged|
|EnableTpPunish|Boolean|true|Whether the teleport cooldown should be active during combat|
|EnableInstantTpPunish|Boolean|true|Whether the teleport cooldown should be activated immediately upon entering combat|
|EnableNotchApplePunish|Boolean|true|Whether the enchanted golden apple cooldown should be active during combat|
|EnableInstantNotchApplePunish|Boolean|false|Whether the enchanted golden apple cooldown should be activated immediately upon entering combat|
|EnableElytraPunish|Boolean|true|Whether elytra should be disabled during combat|
|EnableCombatColour|Boolean|true|Whether players in combat should appear red (spectral arrows, scoreboard, username in chat, etc.)|
|DisableTeamMsgCommand*|Boolean|true|Whether players should be allowed to use /teammsg|
|DisableTeamCommand*|Boolean|true|Whether players should be allowed to use /team|
|CommandBlacklist|String[]|["tpa", "tpaccept", "home", "spawn", "back", "warp"]|Commands that are blocked while in combat|
|CommandBlacklistMessage|String|"You cannot use this command while in combat!"|Message shown when a blacklisted command is blocked|
*Warning: disabling these options may allow players in combat to message each other or leave the combat team and lose their colour
## Requirements
- Fabric loader 16.10 or later (1.21.4/5)
- Fabric loader 16.14 or later (1.21.6/7)
- Minecraft 1.21.4 or later
- May work with older versions (build yourself to test: see [here](https://fabricmc.net/develop/) for more)
- Java 21 or later