
You are viewing a potentially older version of this package. View Latest Version
ItemDrawers
Cybrp ItemDrawers — standalone rework of kg_ItemDrawers with EpicLoot support, rarity markers, localization, station auto-feed, QuickStack, Norse font, and mod API.Cybrp ItemDrawers
A standalone rework and improvement of the original kg_ItemDrawers mod by KGvalheim.
Thunderstore: Cybrp/ItemDrawers
What's New in 1.2.4
- Display name renamed to Cybrp ItemDrawers (plugin GUID unchanged:
kg.ItemDrawers)
Added (since 1.0.2)
- EpicLoot-aware storage: enchanted / modded items keep full magic properties (
m_customData) - Rarity circle on the drawer icon (Magic / Rare / Epic / Legendary / Mythic), using EpicLoot rarity colors
- Stack only identical enchantments (config) — different magic items do not merge into one stack
- Self-contained localization (English + Russian embedded JSON)
- EpicLoot display names on drawer hover (and live re-lookup of legendary names from config so translated names apply to old items)
- Station auto-feed / deposit for smelters, kilns, cooking stations, fireplaces, fermenters, beehives, sap collectors
- QuickStackStore Quick Stack (P) / Restock (L) with nearby drawers
- Norse-Bold stack digits, outline + shadow, Tiffany default color
#0ABAB5 - Console load banner (Tiffany)
Fixed
- Dedicated-server sync for enchanted items (no lost items / ZDO byte[] crashes)
- Correct counters with mixed vanilla + enchanted contents
- QuickStack / Restock desync when writing drawer ZDOs from the client
- Icon stays when assigned drawer amount is 0
- Ore / stackables no longer mis-routed into enchanted storage
- Rarity circle colors match EpicLoot item borders
- Localization language detection without HarmonyX field-not-found spam
- Text outline/shadow on dynamically created fonts (full SDF shader)
Features
Core Storage
- 7 drawer variants: Wood, Stone, Black Marble, Panel variants (Wood/Stone/Marble), and an invisible No-Model variant
- Single-item-type bulk storage: Each drawer holds one item type at a time with a large stack count
- Visual display: Item icon, stack count, quality stars, and optional EpicLoot rarity circle
- Enchanted / modded items: Full custom data preserved; optional same-enchantment-only stacking
- Auto-pickup: Drawers pull matching ground items within a configurable range (with VFX)
- Per-drawer customization: Crouch + Use — text color (RGB) and pickup range
- Exclude list: Config-driven prefab names that cannot be stored
- Contents drop on destroy
- Dungeon placement
- Custom build category: "Item Drawers" tab in the Hammer menu (via Jotunn)
Text Effects
- Norse-Bold font for stack count digits
- Configurable outline and drop shadow
- Tiffany turquoise default color:
#0ABAB5(RGB 10, 186, 181)
Station Auto-Feed & Deposit
- Feed from drawers: Smelter, Kiln (extended radius), Cooking station, Fireplace, Fermenter
- Deposit to drawers: Cooking station output, Beehive honey, Sap collector
- Throttled to ~1 second per station instance
QuickStackStore Integration
- Quick Stack (P) into matching nearby drawers
- Restock (L) from matching nearby drawers
- Respects QuickStackStore range, hotbar, and favorites
- Soft dependency — works without QuickStackStore
AzuCraftyBoxes Compatibility
- Build/craft material pulling from drawers via AzuCraftyBoxes + mod API
Mod API
API.ClientSideV2 for third-party mods:
AllDrawers()— valid drawerZNetViewinstances- ZDO fields:
Prefab,Amount,Quality,PickupRange,Color, plus enchanted storage fields
Configuration
Config file: BepInEx/config/kg.ItemDrawers.cfg
[General]
| Setting | Default | Description |
|---|---|---|
ExcludeList |
(empty) | Comma-separated item prefab names excluded from drawers |
DrawerPickupRange |
4 | Default auto-pickup range (blocks) |
MaxDrawerPickupRange |
100 | Max pickup range in per-drawer GUI |
DefaultColor |
(0.039, 0.729, 0.710) | Default text color — Tiffany #0ABAB5 |
[TextEffects]
| Setting | Default | Description |
|---|---|---|
OutlineEnabled |
true | Outline around count digits |
OutlineWidth |
0.15 | Outline thickness (0.0–1.0) |
OutlineColor |
black | Outline color |
ShadowEnabled |
true | Drop shadow |
ShadowColor |
(0, 0, 0, 0.6) | Shadow color (alpha = opacity) |
ShadowOffset |
0.4 | Shadow offset (0.0–1.0) |
ShadowSoftness |
0.15 | Shadow blur (0.0–1.0) |
[Enchanted]
| Setting | Default | Description |
|---|---|---|
StackOnlySameEnchantment |
true | Only stack items with identical enchantment data |
RarityColorEnabled |
true | Show EpicLoot rarity circle on the drawer icon |
[StationAuto]
| Setting | Default | Description |
|---|---|---|
Enabled |
true | Master switch |
Radius |
8 | Search radius (m) for most stations |
SmelterRadius |
15 | Extended radius (m) for smelters/kilns |
FeedFromDrawers |
true | Stations pull fuel/materials from drawers |
DepositToDrawers |
true | Stations push finished output into drawers |
DebugLogs |
false | Verbose logging |
[QuickStackBridge]
| Setting | Default | Description |
|---|---|---|
Enabled |
true | Master switch |
QuickStackToDrawers |
true | Quick Stack (P) into drawers |
RestockFromDrawers |
true | Restock (L) from drawers |
DebugLogs |
false | Verbose logging |
Player Interactions
| Action | Behavior |
|---|---|
| Use hotbar item on drawer | Deposit matching item (prefab + quality; enchantment rules apply) |
| Use | Withdraw full stack (up to item max stack) |
| Left Alt + Use | Withdraw 1 item |
| Left Shift + Use | Deposit all matching items from inventory |
| Crouch + Use | Per-drawer options GUI (color, pickup range) |
Dependencies
- BepInEx Pack for Valheim (denikson)
- Jotunn (ValheimModding) — custom build category
Optional Integrations
- QuickStackStore (Goldenrevolver)
- AzuCraftyBoxes (Azumatt)
- EpicLoot (RandyKnapp) — magic names, rarity circle, preserved enchant data
Credits
Standalone rework of kg_ItemDrawers by KGvalheim, with station automation, QuickStack support, EpicLoot handling, localization, custom font/text effects, and a mod API.