SphynxDevs-ItemConjurer icon

ItemConjurer

A mod that lets you spawn custom items with a graphical interface.

CHANGELOG

📦 CHANGELOG – ItemConjurer

Changelog format based on Keep a Changelog This project follows Semantic Versioning.


[2.2.0] – 2025-04-20

✨ Features

  • Added enemy spawning system compatible with single player and multiplayer (host‑only mode)
  • Created an internal module dedicated to single player enemy spawning
  • Implemented categorization for items, valuables, and enemies in the spawn UI

🧼 UI/UX

  • Applied light visual refinements across all UI panels
  • Exposed categorization filters and group headers for clearer navigation

🔧 Architecture

  • Centralized all dependency injection services into a single bootstrap module
  • Refactored internal search classes for greater modularity and extensibility

⚡ Performance

  • Increase wait time for the Repo Lib library to finish loading items, valuables, and enemies

[2.1.0] – 2025-04-13

✨ Features

  • Added "Favorites" system: mark frequently used items for quick access
  • Added "Recent" history: track the latest spawned items across sessions
  • Persistent storage for both lists using internal config file
  • Visual indicators for favorited items in the spawnable list

🧼 UI/UX

  • New tabs for "Favorites" and "Recent" (auto-populated and persistent)
  • Favorite toggle directly accessible from each item entry

🧪 QA & Testing

  • Added tests for persistence of favorites and recent items

[2.0.0] – 2025-04-12

🚀 Highlights

  • Complete architectural overhaul for better scalability and maintainability
  • Full redesign of the in-game debug UI with advanced spawning options
  • Major performance optimizations across search and item discovery
  • Multiplayer compatibility and visibility fixes
  • New draggable window system and modular UI component structure

✨ Features

  • Redesigned runtime UI with modern layout, cleaner hierarchy, and collapsible advanced controls
  • “Advanced Settings” section for custom spawn quantity and delay
  • Toggleable floating window with drag support (excluding UI controls)
  • Live filtering and search using an optimized SpawnableFinder
  • Foundation laid for future features like favorites, spawn history, and tags

🔧 Architecture

  • Legacy ConjurerServices.cs removed and replaced with modular service injection
  • UI broken into reusable components: SpawnTab, SpawnableList, SpawnControls
  • Clear separation of logic, data, and rendering responsibilities
  • Improved repository access with internal caching by type and category
  • Cleaner integration with multiplayer systems and spawn validation

⚡ Performance

  • Refactored search logic to support fast filtering with category/type matching
  • Removed redundant runtime validations and Unity API calls
  • Smarter object registration and filtering at discovery time
  • Coroutine-based multi-spawn with precomputed spawn positions

🐛 Fixes

  • Fixed: Some Valuable objects were missing or invisible to other clients in multiplayer
  • Fixed: UI flickering caused by tooltip label changes during layout/repaint
  • Fixed: “Advanced Settings” panel jittering when hovering over interactive controls
  • Fixed: Input fields could not be cleared when editing amount or delay
  • Fixed: Repaint crash due to dynamic control count in layout group

🧪 QA & Testing

  • Complete test suite covering UI, logic, multiplayer, and stability
  • Runtime test coverage for spawn flow, multi-item spawning, and UI toggles

🧼 UI/UX

  • Simplified visual style with clear margins, boxed sections, and unified font styles
  • Inputs are now decoupled from values for natural typing/editing
  • Removed visual noise from unnecessary separators
  • Responsive layout with consistent button sizes and input spacing
  • Fully stable UI layout with zero flicker and full mouse navigation

[1.0.2] – 2025-04-09

📝 Documentation

  • Properly included CHANGELOG.md in the Thunderstore package.

[1.0.1] – 2025-04-08

📝 Documentation

  • Improved README.md with better formatting, clearer instructions, and proper English translation.

[1.0.0] – 2025-04-06

✨ Features

  • OnGUI-based UI for item search and spawning with tab system
  • Support for both local and networked spawning (PhotonNetwork)
  • Save/load custom configurations as JSON (ConjurerSettings)
  • Keyboard navigation (F1) using modern Input System

🔧 Architecture

  • Layered architecture: Core, Interfaces, Services, Data, UI, Patches, Utils
  • Dependency inversion with decoupled services via interfaces
  • Manual dependency injection through ConjurerServices.cs
  • Uses design patterns: Service Locator, Local Cache, and SRP (Single Responsibility Principle)

⚡ Performance

  • Optimized ItemRegistry with precaching and local caching
  • Rewritten PrefabLocator with internal name-based cache
  • Removed redundant Resources.LoadAll calls at runtime
  • Safe validation in SpawnService to prevent networking issues