// Management · RimWorld Mod

Recycle Trader - 万能回收商

Buys everything. Sells anything. The Universal Recycler is an orbital trader who asks no questions. Blood-soaked rags, slag chunks, The module item you installed ,ancient ATMs, wooden research benches—his inventory is weird, his wallet is deep, and he wants your trash. 【Highlight

Buys everything. Sells anything.

The Universal Recycler is an orbital trader who asks no questions. Blood-soaked rags, slag chunks, The module item you installed ,ancient ATMs, wooden research benches—his inventory is weird, his wallet is deep, and he wants your trash.

【Highlights】
- Takes it all: Stones, tainted clothes, unsellable junk—if you own it, he buys it. Corpses excluded by default.
- Rotating stock: Every visit brings a fresh batch of random, often bizarre items. You never know what he'll have.
- Orbital visitor: Appears randomly via comms console. No guaranteed calls—every encounter is a surprise.
- Well-funded: Carries 10000~120000 silver by default, ready to empty your stockpiles.

【Customizable Options】
- Buy & sell price multipliers (0.01~300x)
- Restock interval (1~180 days)
- Item variety count (1~72)
- Category spawn chances (rare items, weapons/apparel, buildings, others)
- Stack limits per category
- Rare item stack limits (1~10)

【Rules】
- He's a recycler, not an undertaker. Corpses not accepted by default.

【Q&A】
1. Can he take corpses?

During early testing, corpse trading was allowed. The trading logic was written using a dynamic injector — meaning it would randomly generate literally any object that can exist in the game and put it up for trade. The problem was that it really did generate all kinds of bizarre things to sell you, ultimately causing crashes and errors.

In other words, if he could take your corpses, he could also sell corpses to you. It would generate a whole series of weird corpses to trade with you — things like megaspider carcasses, mechanoid corpses, even the body of a 227-year-old colonist (with the head already missing in the health tab). That's why corpses never appear in normal trade in the first place.

Corpses are hard-coded in the game's underlying systems to be non-tradable. Forcing them into trade will cause errors that freeze the entire game.

So, to ensure the game runs properly, I wrote a dedicated filtering system that screens out items known to cause bugs or crashes, preventing them from ever being generated in the trade interface. This is why corpse trading is not possible.

2. What cannot be bought or sold?

The version now on the Steam Workshop has gone through countless restrictions, improvements, and fine-tuning. It is a version that appears stable and will most likely not crash.

The early test builds were pure chaos — they spawned all manner of strange things and could single-handedly crash the game.

The corpse generation was actually the least of it. It could even generate things that are never meant to be encountered in normal gameplay — things hidden deep behind the game's systems.

During debugging and testing, this trader once generated: gas, wooden floors, shallow water, and a body part torso (not an organ — the actual structural torso of a pawn).

These are all illegal items that cannot be traded. They would throw errors the moment they were generated. Even when one occasionally made it into the trade menu — shallow water, for instance, the very same shallow water you can fish in on the map — the game completely froze and crashed to desktop the moment the drop pod landed and before it even opened.

Another time, it generated a geyser in the trade interface. The game crashed to desktop the moment I opened the trade menu.

Checking the crash logs revealed that the game was trying to instantiate a geyser inside the trade interface.

In summary: certain buildings / terrain tiles / gases / liquids / light sources / items that are fundamentally impossible to obtain in normal gameplay, as well as various components of illegal entities — none of these can be traded.

3. What is the trade logic? How is it different from vanilla trading?

Normally, an orbital trader's inventory has to be manually authored. For example, to make a trader sell wood, you have to specifically write in the code that he carries wood, and how much. If he sells weapons, you write how many types of weapons and how many of each. And so on.

Generally speaking, a trader only sells what you explicitly write in the code.

Take the vanilla exotic goods trader, for example. In the official code, his carried items — sculptures, televisions, and so on — are all explicitly pre-defined. When an exotic trader spawns, he randomly generates his stock from that fixed pool.

This mod's code is different. It uses direct code injection and a dynamic generator that dumps everything that exists in the game straight into the trade list, all in one go. Then it populates the trade interface.

As I explained above, without restrictions, this would generate all kinds of bizarre things and cause countless bugs, crashes, and errors.

In the end, I wrote a dedicated patch to filter out all items that would cause the game to break, ensuring they never appear in the trade list. If something can appear without causing errors, it's allowed to generate. So if you look at the mod's preview screenshots and see the trader carrying all sorts of weird things — ancient ATMs, rocket launch thrusters, and so on — as long as they don't cause errors, they're left in. And honestly, having these strange things show up is kind of fun, isn't it?