Combat Awareness
com.n3plugins.combatawareness.CombatAwarenessPlugin tracks the player's combat
state (via sdk.widgets.CombatSessionTracker), surfaces reminders/overlay,
extends the client idle timeout while enabled, and optionally re-attacks the
tracked NPC. The old neverlog-style idle timer removal toggle now lives in
PacketUtils as the suite-wide preventIdleLogout config.
Interaction layer
The only server interaction - the opt-in re-attack - routes through the enhanced
action API, NPCActions.interact(target, "Attack"). That path queues the mouse
click packet (MousePackets.tryQueueClickPacket()) ahead of the NPC action and
is gated by ActionPacer, so re-attacks inherit the suite-wide click-packet +
pacing behavior. The legacy CombatTargetClient/CombatTargetInteractor/
NpcInteractionCombatTargetClient wrapper trio was removed; the attackable guard
(!isDead && healthRatio != 0) lives inline in attemptAttack.
Randomized reminder / re-attack window
The plugin uses no fixed interval. The reminder and re-attack fire at a random time inside a configured window so the cadence is never exactly predictable:
reminderMinMinutes/reminderMaxMinutes- lower/upper bound (minutes).
CombatReminderService picks a fresh random window length each cycle and holds
it stable until the window is consumed (so the overlay countdown matches the
fire time). When automation is enabled and NPCActions.interact returns PACED
(or there is no attackable target), the window is not consumed - the plugin
retries on the next tick and keeps the cycle active.
Anti-ban fidgets
Opt-in human-like idle gestures, scheduled through the suite-level
sdk.humanizer.HumanizerService by CombatAntiBanService, only while a
combat session is active. The timer is the rate limiter (per-tick
self-limiting); fidgets are not gated on ActionPacer.
| Config | Fidget |
|---|---|
fidgetRightClickItem | Right-click the nearest ground item to open its menu |
fidgetMoveCamera | Nudge the camera with an arrow key |
fidgetSwitchTab | Flick to a random side tab, then back to inventory |
fidgetRightClickActor | Right-click a passing player/NPC to open its menu |
antiBanEnabled- master switch (default off).antiBanMinMinutes/antiBanMaxMinutes- randomized gap between fidgets.
Camera nudges and right-click menus are real AWT canvas events
(sdk.input.CanvasInput), not packet interactions - "examine" here means
opening the right-click menu, which is auto-dismissed a few ticks later with a
neutral click. The tab switch uses the enhanced TabActions.open. The shared
humanizer also supports camera nudge, right-click item/actor, tab glance, and
mouse-offscreen micro-break gesture kinds for other opt-in profiles.
Humanizer / Anti-Ban Gesture Scheduling Flow
Anti-ban fidget gestures are managed by the HumanizerService via a randomized, tick-driven scheduler: