You are viewing a potentially older version of this package. View all versions.
cybrp-ItemDrawers-1.2.4 icon

ItemDrawers

Cybrp ItemDrawers — standalone rework of kg_ItemDrawers with EpicLoot support, rarity markers, localization, station auto-feed, QuickStack, Norse font, and mod API.

Date uploaded a day ago
Version 1.2.4
Download link cybrp-ItemDrawers-1.2.4.zip
Downloads 0
Dependency string cybrp-ItemDrawers-1.2.4

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2333
ValheimModding-Jotunn-2.29.2 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.29.2

README

Cybrp ItemDrawers

A standalone rework and improvement of the original kg_ItemDrawers mod by KGvalheim.

Thunderstore: BROHEIM_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 drawer ZNetView instances
  • 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.

CHANGELOG

Changelog

1.2.5

  • Maintenance release

1.2.4

  • Fix: Text outline/shadow now switches to full SDF shader for compatibility with dynamically created fonts

1.2.3

  • Fix: Removed HarmonyX spam from localization language lookup (wrong AccessTools field names)
  • Fix: Language now reads Valheim GetSelectedLanguage() / m_language, with SetupLanguage override
  • Fix: Clean compile (CS0109 on Log property)

1.2.2

  • Fix: Console load banner Tiffany color (#0ABAB5) — write to BepInEx ConsoleStream + Virtual Terminal truecolor

1.2.1

  • New: Tiffany-colored ASCII banner on mod load

1.2.0

  • New: EpicLoot legendary/mythic display names re-looked up from translated config
  • New: Drawer hover text shows EpicLoot magic item names
  • Fix: Rarity circle colors read EpicLoot private rarity color fields

1.1.x

  • New: Self-contained EN/RU localization (embedded JSON)
  • New: EpicLoot hybrid storage — enchanted items keep full m_customData / magic properties
  • New: Rarity circle marker on drawer icon
  • New: Config StackOnlySameEnchantment and RarityColorEnabled
  • Fix: Dedicated-server RPC / ZDO sync for enchanted items
  • Fix: Counter sync for mixed vanilla + enchanted contents
  • Fix: QuickStack / Restock use owner RPCs
  • Fix: Icon remains when drawer amount is 0
  • Fix: Ore and stackables use Amount storage correctly

1.0.2

  • Fix: Text outline/shadow full SDF shader compatibility

1.0.1

  • Fix: API assembly name mismatch — third-party mod integration now works

1.0.0

  • Initial release