Auto Lunge Swap
One key. Tick-perfect lunge swaps. No hotbar gymnastics.
Auto Lunge Swap is a client-side Fabric mod for Minecraft 1.21.11 that performs the spear lunge swap for you: it selects your Lunge spear, jabs, and selects your previous item again — all inside a single game tick. Hold the key and it repeats every time the attack bar is ready, which with a bare fist means a lunge every 5 ticks (4 per second) instead of the spear's native 13–23 ticks.
Features
- Press once, lunge once — a tap is remembered for a few ticks, so slightly early presses still fire.
- Hold to chain — lunges keep coming as fast as the carrier item allows.
- Automatic carrier — you can hold anything when you press the key. The mod parks you on an empty hotbar slot (fastest possible recharge), lunges from there, and puts your original item back in your hand when you release the key.
- Automatic spear detection — uses the hotbar spear with the highest Lunge level; optionally pin a fixed slot.
- Safety checks — respects vanilla's hunger requirement (Lunge needs food level > 6), never interrupts eating/drinking/charging in the main hand, and never fires with a screen open.
- Toggle key with an action-bar message, so you can switch it off mid-session.
- Zero HUD clutter — nothing is drawn on screen. Optional debug log line per lunge.
- Fully vanilla input path — the jab goes through the same client routine as a real left click.
Controls (Options → Controls → Auto Lunge Swap)
| Action | Default |
|---|---|
| Lunge swap (hold to repeat) | V |
| Toggle Auto Lunge Swap | O |
Why the carrier item matters
A spear jab is only accepted when the attack bar is 100 % charged, and the bar recharges with the attack_speed attribute. The server refreshes attributes from your equipment just once per tick, so a jab performed in the same tick as the item switch is judged with the attack speed of the item you were holding before — while the held stack (and its Lunge enchantment) is already the spear. Whatever you hold between lunges therefore sets the pace:
| Carrier | Lunge every |
|---|---|
| bare fist (empty slot) — mod default | 5 ticks |
| sword | 12–13 ticks |
| spear itself (no swap) | 13–23 ticks |
| mace | 33 ticks |
Configuration — config/autolungeswap.json
| Key | Default | Meaning |
|---|---|---|
enabled |
true |
master switch (toggle key) |
holdToRepeat |
true |
holding the key repeats the lunge |
minRepeatIntervalTicks |
0 |
extra spacing between lunges while holding |
waitForAttackCooldown |
true |
only fire when the bar is charged (turning this off just wastes packets) |
inputBufferTicks |
3 |
how long an early tap is remembered |
minHunger |
7 |
skip below this food level (vanilla Lunge needs > 6) |
carrierMode |
FASTEST |
FASTEST = park on an empty slot, CURRENT = stay on what you hold |
carrierSlot |
-1 |
-1 = auto, 0–8 = always park on this slot |
returnToOriginalItem |
true |
hand your original item back after the key is released |
switchTimeoutTicks |
15 |
how long a single tap keeps trying after the mod had to move you to the carrier |
swapBackDelayTicks |
0 |
0 = swap back in the same tick, N = wait N ticks |
ignoreMissDelay |
false |
bypass the client's 10-tick "punched air" delay |
fixedSpearSlot |
-1 |
-1 = auto-detect, 0–8 = force a hotbar slot |
requireLunge |
true |
ignore spears without the Lunge enchantment |
actionBarMessages |
true |
show ON/OFF above the hotbar |
debugLog |
false |
one log line per lunge with the interval in ticks |
Requirements
- Minecraft 1.21.11 (the spear and Lunge were added in this version; 26.x builds are not supported)
- Fabric Loader 0.16+ and Fabric API
- Java 21
Please read before using
Attribute swapping is a vanilla bug (MC-28289). Mojang has stated it is not supported functionality and intends to fix it — it was removed in 26.2 pre-release 2 and only temporarily restored in pre-release 3. Many PvP servers and anti-cheats treat swap macros as cheating. Use this mod in singleplayer or on servers whose rules explicitly allow it; you are responsible for where you run it.
Spamming lunges is hungry work: every lunge costs 4 × Lunge level exhaustion, so a Lunge III spear burns roughly one drumstick and a half per lunge. Keep food handy.

