Weapon Neon Contour Mod
Adds dynamic neon contours for high-quality weapons. Fully optimized, supports dual/two-handed custom weapons, multiplayer, and includes Server Lockdown config sync.История изменений (Changelog) — Weapon Neon Contour Mod
Все заметные изменения в этом проекте будут документироваться в данном файле.
2.7.6 Добавлено
- Система Server Lockdown (Блокировка конфигурации): Добавлен глобальный параметр LockConfiguration в категорию [Служебные]. Если он включен (true) на стороне сервера, плагин принудительно блокирует меню настроек клиентов и подчиняет их серверным эталонам.
- Исправлена критическая ошибка приведения типов
2.7.7 Изменено
- Стабилизация сетевого кода: Полностью удален экспериментальный перехват конфигураций через события игрового текстового чата (Chat.OnChatMessage), вызывавший полное исчезновение контуров со всех предметов.
- Безопасный RPC-движок: Возвращена работа через системный ZRoutedRpc, но тип данных изменен с тяжелого ZPackage на легкую строку string. Это полностью решило проблему без необходимости подключения внешней библиотеки assembly_utils.dll.
- Сетевое подчинение конфигов (Server Sync): Реализована автоматическая синхронизация настроек от сервера к подключающимся игрокам. Клиенты временно перенимают параметры сервера на время сессии, не перезаписывая локальный файл конфигурации на диске. При отключении локальные настройки возвращаются.
2.7.8 Изменено
- Мировая синхронизация мешей (World Space): Изменен фундаментальный подход к отрисовке неона на персонажах. Вместо дублирования скрытых мешей оригинального статического префаба, плагин теперь динамически находит активный меш оружия в руках игрока (VisEquipment) и принудительно копирует его позицию и поворот в мировых координатах каждый кадр.
- Времено отключен неон: Для категорий Двуручные топоры, Двуручные ножи и Двуручные кулаки установлено в 0f (неон скрыт по умолчанию до ручной настройки).
2.7.9 Добавлено
- Разделение категорий оружия: Добавлены "Двуручные кулаки" для корректного разделения и калибровки тяжелых кастетов/когтей из контентных модификаций.
2.8.0 Изменено
- Безопасное чтение API Valheim: Обойти уровни защиты protected и private для переменных m_moveDir и m_wallRunning путем их замены на открытый метод GetMoveDir() и стандартный расчет скорости физики Unity GetVelocity().
2.8.1 Неисправлено
- Зависание двуручного оружия в воздухе:
2.8.2 Добавлено
- Новые раздельные категории: В систему распределения добавлены три независимые категории: "Двуручные топоры", "Двуручные ножи", "Двуручные дубины".
2.8.3 Изменено
- Обновлен метод сортировки DetermineCategory(): двуручное оружие теперь безошибочно распределяется по типам навыков и маскам имен префабов (battleaxe, ripper, sled), предотвращая их ошибочное попадание в базовые одноручные группы.
- Изменена стартовая калибровка толщины по умолчанию для категории "Одноручные мечи": defaultThickness установлено строго в значение 1f.
2.8.4 Оптимизация
- Снижение нагрузки на FPS:
- Очистка памяти от GC: Строковые обращения к свойствам шейдеров заменены на кэшированные
- Честный Bloom и Emission: Произведена замена плоского UI-шейдера на нативный 3D-шейдер игры
2.8.5 Исправлено
- Мультиплеерная синхронизация: Добавлено чтение сетевых ZDO-ключей данных игры (RightItemQuality и LeftItemQuality). Это позволило неонам корректно отображаться на оружии других игроков при просмотре со стороны в сетевой игре.
