Skip to content

God bridge fallback logic can get stuck sneaking indefinitely after block placement failure #21

Description

@RiaDev1

Description

In MovementTraverse, the god bridge fallback mechanism (godSneakFallbackTicks) activates when a block placement is detected to have failed (sneak emergency). However, the fallback only runs for a fixed number of ticks, and if the underlying bridge block was never placed, the bot remains sneaking in place until the movement times out.

Root Cause

In MovementTraverse.reset():

wasTheBridgeBlockAlwaysThere = true;
godSneakFallbackTicks = 0;
godVerifyTicks = 0;
stopGodBridge();

The wasTheBridgeBlockAlwaysThere flag is initialized to true, meaning the code assumes the bridge block was placed unless proven otherwise. If block placement (right-click) fires but the server rejects it (lag, anticheat, invulnerable area), the flag stays true and the bot walks off expecting a block that doesn't exist, falling into the void/lava.

Additionally, after godSneakFallbackTicks expire, there's no fallback to abort — the movement waits for the full timeout before the path executor cancels it.

Expected Behavior

  1. Verify block placement before advancing: check canWalkOn(bsi, destOn) AFTER placement attempt
  2. After god bridge sneak fallback expires, abort the movement immediately rather than waiting for timeout
  3. Track consecutive failed bridge placements and escalate to path recalculation

Suggested Fix

  • Add placement verification: after right-click, wait 2-3 ticks and check if the block appeared in the world
  • If verification fails N times consecutively, mark position as unplaceable and recalculate path
  • Abort god bridge after fallback expires instead of waiting for movement timeout

Related

  • shredder/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java
  • God bridge logic in MovementHelper or GodBridgeClickHelper

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions