Anti-Swap Fix addresses a critical combat exploit where players can swap weapons mid-attack to gain unintended attribute bonuses. This exploit allows players to combine the attack speed of one weapon with the damage or attributes of another, creating an unfair advantage in PvP and PvE scenarios.
This mod was specifically designed for large modpack SMPs where players have access to weapons with unique attributes and special effects. In these environments, the exploit becomes particularly problematic as players can mix and match powerful modded weapon attributes, completely breaking the intended game balance and progression systems.
In vanilla Minecraft, when a player initiates an attack, the game calculates damage and applies attributes based on the item held at the moment the attack connects, not when it was initiated. This creates a window of opportunity where players can:
This exploit is commonly known as "Attribute Swap" or "Weapon Swap" and can severely impact game balance, especially on servers with custom weapons or RPG-style combat systems.
Anti-Swap Fix uses a simple but effective approach:
This "snapshot-and-validate" strategy ensures that players can only deal damage with the weapon they were actually holding when they initiated the attack.
The mod creates a configuration file at config/antiswapfix-server.toml with the following options:
[General Settings]
# Enables protection against the Attribute Swap exploit
enabled = true
# Sends debug messages to players when attacks are cancelled
debugMode = false
All commands require operator permission (level 2).
/antiswap toggle true/false
Enables or disables the anti-swap protection.
/antiswap debug true/false
Enables or disables debug messages for the player who executes the command. When enabled, you will receive detailed messages showing which items were swapped when an attack is cancelled.
Debug messages show:
In large modpack environments, the Attribute Swap exploit becomes exponentially more dangerous. Players can exploit combinations of:
Author: SatDPhoe