Changelog
A summarized history of Item Control's development, organized by feature phases.
Inventory Backup Overhaul — 2026-03-14
- Full item data restore: Backups now serialize and restore durability, max durability, and BSON metadata (Weapon Mastery enchantments, Soulbound properties, custom data)
- Complete history preview: History page shows all 6 inventory sections (Hotbar, Armor, Utility, Tools, Storage, Backpack)
- Hover tooltips: All item slots show detailed tooltips with name, rarity tag, durability, Weapon Mastery stats, and soulbound indicator
- Rarity background colors: Slots are tinted by item quality — Uncommon (green), Rare (blue), Epic (purple), Legendary (orange)
- Shared tooltip logic: Unified tooltip builders shared between History and View pages
Weapon Interactions and Armor Editor — 2026-03-11
A major expansion of the Item Override system with deep weapon and armor editing capabilities.
Weapon Interactions
- Interaction Editor: View and edit all damage interactions per weapon (Swing Left, Swing Right, Charged, Vortex, Signature, etc.)
- Per-damage-type overrides: Modify Physical, Fire, etc. individually across all interactions
- Signature Move Override: Swap a weapon's signature ability via dropdown
- Weapon Stat Modifiers: Edit stats like SignatureEnergy directly
- EntityStatsOnHit: Configure stat gains per hit per interaction
- Knockback editing: Force and duration per interaction
Armor Editor
- Per-damage-type cards: Resistance, Enhancement, KB Resistance, KB Enhancement grouped by damage type
- Stat Modifiers and Attack Class Enhancement: Health, Speed, LIGHT/CHARGED/SIGNATURE bonuses
- Custom types: Add new damage types and stats via dropdown, persisted across restarts
Recipe Editor
- Edit existing recipes: Both vanilla and custom recipes editable from the admin UI
- Override pattern: Vanilla recipes are preserved — edits create a
ks_edit_prefixed override - Reset to default: Edited vanilla recipes can be reverted to their original state
Drop Rules: Block Drops and Soulbound Fixes — 2026-03-10
- Block drop rules: Drop Rules now apply to blocks (not just NPCs), supporting all 3 modes (add, remove, replace)
- Vanilla block drops: Reads BlockGathering config for correct drops (ores drop their actual loot)
Soulbound System Hardening
A series of critical fixes to the Soulbound system:
- Per-instance metadata binding: Complete rewrite from ID-based to BSON metadata stamped on each item stack
- Tooltip integration via DynamicTooltipsLib: Replaced custom PacketAdapter filter (272 lines) with the shared tooltip library
- Container guard: Full transaction support (Move, ItemStack, List transactions), re-entrancy guard preventing server freezes
- Chunk coordinate fix: Corrected 16x16 assumption to Hytale's actual 32x32 chunks
- Multi-world support: ContainerGuard now activates on world entry (not just initial connect)
- Block-break protection: Containers with soulbound items cannot be destroyed
- Binding timestamps:
SB_Timemetadata with UTC display in check command
Item Override System and Admin UI — 2026-03-09
Item Overrides
- Runtime modification of item stats (damage, durability, stack size, quality, tool speed, armor, crafting tier, etc.)
- Reflection-based application with client sync via UpdateItems packets
- JSON persistence in
item_overrides.json - Full Admin UI page with search, filter, and field editor
Custom Recipe System
- Create new recipes from the admin UI with up to 4 inputs, bench selection, and crafting time
- Recipe visibility management — disable/enable individual recipes with instant client sync
- Custom recipes persist across restarts and player relogs (delayed sync after asset init)
- Recipe editing, copying, and permission-based visibility
Drop Management
- NPC drop rules with 3 modes (add, replace, remove) and wildcard support
- Vanilla drop interception with correct system ordering
- Drop List browser (728+ lists) and vanilla drops lookup in admin UI
Inventory Tools Expansion
- SQLite-based backup system with auto-backup on death and join
- Visual inventory viewer with avatar, item details, and backup history
- Snapshot migration from JSON to SQLite
- Offline player support for history browsing
Watchlist Enhancements
- NPC drop tracking and player drop tracking
- Persistent alerts in shared SQLite database (up to 500 entries)
- Structured alert storage with pagination
Shared Database
- All modules migrated to a single
itemcontrol.dbSQLite database - Automatic migration from legacy
inventory_backups.db
Admin Hub Evolution — 2026-03-08 to 2026-03-09
The Admin Hub went through multiple design iterations:
- v1: Basic module toggles with pagination and navigation to sub-pages
- v2: Integrated single-page UI (920x700) with 8 sidebar tabs and full CRUD for all modules
- v3: UX redesign with dropdown boxes, ItemIcon previews, and column headers
- v4: QuestAdmin-inspired design with color-coded section headers, scrollable content, and auto-width buttons
Browser Evolution
- v1: Basic 24-slot grid with separate detail page
- v2: External info panel, scrollable grid, recipe tab
- v3: 60 items per page, recipe icons, drops tab, drop source registry
Phase 3: Soulbound, Cooldowns, Watchlist — 2026-03-08
- Soulbound Module: Drop prevention via ECS system, player-specific bindings, auto-soulbound list, JSON persistence
- Cooldowns Module: Per-item and per-category cooldowns, shared cooldown groups, in-memory tracking
- Item Watchlist Module: Admin alerts on craft/pickup, file logging, recent alerts list
Phase 2: Crafting, Death, and Usage Rules — 2026-03-08
- Crafting Rules: Blacklist per item ID, bypass permissions, ECS-based blocking via
CraftRecipeEvent.Pre - Death Rules: 3 modes (vanilla, keep-all, selective), automatic item restoration on respawn
- Usage Rules: Item restrictions with permission system and custom denial messages
Phase 1: MVP — 2026-03-08
- Initial release of Item Control v1.0.0-alpha1
- Modular architecture with independent, toggleable modules
- Item Browser: Search, filter by 7 categories, paginated browsing, detail view
- Admin Give:
/ksitem givecommand - Module Management: Enable/disable modules via command
- Localization: 9 languages with automatic detection
- Config System: JSON-based with hot reload