Risk of Rain 2
Install with App

Details

Latest version
1.5.0
Last Updated
First Uploaded
Downloads
54
Likes
0
Size
108KB
Dependants

CommandQueue.AutoPickup

CommandQueueAutoPickup (1.5.0) — Extension for CommandQueue: adds an AutoPickup toggle button to the queue panel. Command essences near you are picked up automatically whenever one of your queued items is a valid choice for that essence — and as host/solo, the item is granted instantly, with no delay.

⚠️ Disclaimer: This mod was AI-generated and has not been fully tested alongside other mods. Conflicts or unexpected behavior when combined with third-party plugins are possible.

Extension for CommandQueue — adds an AutoPickup ON/OFF button (styled like the mod's own buttons) to the Command Queue panel, enabling automatic pickup of command essences. Does not bundle or replace the mod itself — depends on com.kuberoot.commandqueue.

What it does

Turn the mode on. When your character is near a command essence (command cube — white/green/red) within normal interact range and one of your queued items in CommandQueue is a valid choice for that cube (the same check the base mod uses — IsChoiceAvailable), the extension picks up the essence on its own and grants the item.

⚡ Instant pickup (no pauses)

The headline improvement of this version:

  • When you are the HOST or in SOLO — the extension grants the selected item directly into your inventory in a single tick, through the same standard pipeline as the game's normal pickup:

    • PickupDef.attemptGrant — canonical item grant (instant, GiveItemPermanent);
    • CharacterBody.OnPickup(Item) — the "item picked up" trigger for synergies (SpeedOnPickup, etc.);
    • SendPickupMessage — pickup notification, chat line, sound (for all players).

    The cube is simply removed: no item dropped on the ground, no one-second orb flight, no second pickup — the item appears in your inventory instantly. A cluster of nearby essences is granted one by one, per frame.

  • When you are NOT the host (someone else's server) — the game does not allow clients to grant items directly (it is a server-side operation), so the extension automatically falls back to the classic path (essence selection + pickup). A small delay here is unavoidable: it is a hard RoR2 networking limit, not a mod bug.

To get instant grants — play solo or host the game yourself.

LookingGlass conflict gate

Root cause of the conflict found: the game's real PickupPickerController.OnDisplayBegin creates the panel (panelInstance); CommandQueue intentionally skips its body on auto-select; LookingGlass dereferences panelInstance right after orig() without a null check → NRE. The extension registers its own hook for the same method last of all (outermost layer of the chain): it catches and suppresses crashes from third-party hooks (the failing frame is logged), while CommandQueue's auto-select still gets to run; if the panel never opened, the extension restores it manually.

How to use

  1. Install the mod and turn AutoPickup ON in the Command Queue panel (Tab → Command Queue tab).
  2. Add items of the desired rarities to the mod's queue (click an item button).
  3. Walk up to a command essence of the matching color — the item is selected for you and lands instantly in your inventory (solo/host) or is picked up via the classic path (remote host).

Diagnostics

The extension logs to BepInEx\LogOutput.log (lines [CommandQueue.AutoPickup]). Key lines:

  • direct-granted ... straight into the inventory; essence consumed, no ground item → instant grant worked ✅
  • using classic path (reason: not hosting / client) → you are not the host; the classic path was used
  • direct grant skipped (local CharacterBody not resolved) → local player body could not be resolved (send the log — it can be fixed)

Dependencies

  • bbepis-BepInExPack (BepInEx 5)
  • KubeRoot-CommandQueue ≥ 1.7.0 (the mod being extended)
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.