Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ItemShare
Co-op loot sharing. Every player walks over the same drop and collects it for themselves, and the orb only despawns once everyone has it. Host-only install.
By Vibecodeguy
| Date uploaded | 20 hours ago |
| Version | 1.2.1 |
| Download link | Vibecodeguy-ItemShare-1.2.1.zip |
| Downloads | 10 |
| Dependency string | Vibecodeguy-ItemShare-1.2.1 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2121README
ItemShare
Stop racing your friends to the loot.
Every player collects the same drop for themselves. The orb stays on the ground until the last person has picked it up, then despawns like normal.
Only the host needs this installed
All of the logic runs server-side and rides on the game's normal inventory sync, so your friends do not need to install anything. Nobody desyncs, nobody gets kicked for a mod mismatch. Installing it on every machine is harmless, just unnecessary.
Modes
Set General.PickupMode in the config file.
Individual — default
Everyone walks over the orb themselves.
- First player touches it, gets the item, orb stays
- Second, third player touch it, get the item, orb stays
- Last player touches it, gets the item, orb despawns
- Already collected it? Walking over it again does nothing
- Playing solo? Behaves exactly like vanilla
You still have to go get your loot, you just are not competing for it.
Instant
The first player to touch the orb takes it and everyone else is handed a copy on the spot, wherever they are. Good if you would rather not run around collecting, or if someone is busy holding a boss and would otherwise miss out.
Config
BepInEx/config/com.majai.itemshare.cfg, created after your first launch.
| Key | Default | What it does |
|---|---|---|
General.PickupMode |
Individual |
See above. Read once at startup — restart the game after changing. |
Tiers.White / Green / Red / Boss |
true |
Share that tier. Turn one off and it goes back to vanilla first-come-first-served. |
Tiers.Lunar |
false |
Lunar (blue) items. |
Tiers.Void |
false |
Void items. They corrupt their counterpart, so turning this on means everyone loses the corrupted item. |
Tiers.Food |
false |
The new FoodTier. Untested, so it defaults to vanilla behaviour. |
General.ShareToDead |
true |
Dead players are handed items automatically, since they cannot walk over an orb. Either way, a dead player never blocks an orb from despawning. |
General.AnnounceProgress |
true |
Individual only. Chat line showing collection progress, e.g. [ItemShare] Bandit - 2/4. |
General.ShareEquipment |
false |
Instant only. Gives equipment to players with a free slot. Never overwrites equipment someone is holding. |
Every tier flag is read live, so you can change those mid-run without restarting.
Things to know
Players who already collected an orb still see it lying there until the last person picks it up. The pickup is a single networked object that every client renders identically — hiding it per-player would mean custom network messages, which would make this a mod everyone in the lobby has to install. Keeping it host-only was worth the cosmetic oddity. The chat progress line exists to make up for it.
Equipment is left completely vanilla in Individual mode. There is one equipment slot, so "everyone walks over and collects it" does not really mean anything. First to touch it takes it, same as always.
Instant mode does not charge other players for 3D printers. If someone spends an item at a printer or cauldron, only they pay for it, so inventories slowly drift apart over a run. This used to be handled, but the cost API changed shape in a recent game update and the old approach no longer applies. Individual mode is unaffected — it never assumed identical inventories in the first place.
Not covered yet: Artifact of Command (different code path), the Scrapper, and money.
Compatibility
Built and tested against the current Risk of Rain 2 release. It hooks exactly one
method, GenericPickupController.AttemptGrant, and does not touch the item catalog, so
it should sit fine next to content mods that add items — new items get shared according
to their tier automatically.
If a game update breaks it, the pickup API almost certainly moved. Open an issue rather than assuming it is a conflict with another mod.
ภาษาไทย
ของ drop มาแล้วไม่ต้องแย่งกัน ทุกคนเดินไปเก็บของชิ้นเดียวกันได้เอง orb จะหายก็ต่อเมื่อคนสุดท้ายเก็บแล้ว
host ลงคนเดียวพอ — logic รันฝั่ง server ทั้งหมด เพื่อนไม่ต้องลงอะไรเลย ไม่ desync
โหมด Instant (ตั้งใน config) = คนแรกเก็บแล้วคนอื่นได้ copy ทันทีโดยไม่ต้องเดินไปไหน
ข้อจำกัดที่ควรรู้: คนที่เก็บไปแล้วจะยังเห็น orb ลอยอยู่ จนกว่าคนสุดท้ายจะมาเก็บ เพราะ orb เป็น networked object ตัวเดียวที่ทุกคนเห็นเหมือนกัน จะซ่อนเฉพาะบางคนต้องให้ทุกคนลง mod ด้วย เลยเลือกใช้ข้อความในแชทบอกความคืบหน้าแทน
Credits
Made by majai. Built with BepInEx and HookGenPatcher.
CHANGELOG
Changelog
1.3.0
- Artifact of Command is now supported in Individual mode. Every player opens the
cube and picks their own item, instead of the first chooser deciding for everyone. The
cube stays until all players have picked, then disappears. New
ShareCommandPicksconfig, on by default. - Only Command cubes are affected. The Scrapper, Meal Prep, the Hoard, the Solus vendor and Lemurian eggs use the same controller but take items rather than give them, and are left completely untouched.
1.2.1
- Fixed
MissingMethodException: void RoR2.Stage.Start()at startup, which stopped the mod from loading at all.Stage.Startis a coroutine returningIEnumerator, but the MMHOOK assembly HookGenPatcher ships still describes the oldvoidsignature. Now uses the game's ownStage.onStageStartGlobalevent, which cannot drift out of sync.
1.2.0
- Rebuilt against the current pickup API. Grants now replay the vanilla
PickupDef.GrantContextpipeline instead of writing to the inventory directly, so temp items, void corruption and per-item side effects all behave normally. - Temp items stay temp for everyone. A decaying pickup is replayed with its
decayValuerather than becoming permanent for the players who did not touch it. - Added
Tiers.Foodfor the newFoodTier. Off by default until it is tested. - Removed
MirrorItemCosts.CostTypeDef.PayCostchanged shape and the old implementation no longer applies. See the Limitations section of the README.
1.1.0
- Added
PickupMode.Individual(default) makes every player collect the orb themselves;Instantkeeps the original behaviour. - Dead players are handed items automatically and never block an orb from despawning.
- Added
AnnounceProgresschat feedback.
1.0.0
- First release. One player picks up a drop, everyone receives it.