Kayfovi-Weapon_Neon_Contour_Mod icon

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.

Last updated 8 hours ago
Total downloads 19
Total rating 2 
Categories Mods Modpacks Tweaks Tools Server-side Client-side Utility
Dependency string Kayfovi-Weapon_Neon_Contour_Mod-2.8.5
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2200 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2200

README

Weapon Neon Contour Mod (Valheim) — v2.8.5

Модификация для игры Valheim на базе платформы BepInEx, которая добавляет динамические светящиеся (неоновые) контуры вокруг оружия высокого качества. Мод полностью оптимизирован для игры в мультиплеере, поддерживает кастомное оружие из сторонних дополнений и включает систему принудительной синхронизации и блокировки конфигураций на стороне сервера.

🌟 Основные особенности

  • Индикатор качества: Светящийся контур появляется только на оружии 5-го уровня качества и выше.

  • Динамическая палитра: Цвет и пульсация свечения автоматически меняются в зависимости от уровня прокачки предмета:

    • Уровень 5–7: Глубокий синий / Темно-голубой эффект.
    • Уровень 8–10: Неоновый голубой / Магический фиолетовый перелив.
    • Уровень 11–13: Яркий розовый / Пурпурный градиент.
    • Уровень 14+: Огненный оранжевый / Насыщенный красный контур (поддерживает моды на сверх-прокачку).
  • 15 независимых категорий: Индивидуальные настройки для всех типов ванильного и кастомного оружия (Топоры, Мечи, Копья, Магия, Кастеты и их двуручные/парные аналоги).

  • Честный 3D Bloom: Использование нативного игрового шейдера Custom/Piece с поддержкой _EMISSION обеспечивает честное свечение контуров в темноте и интеграцию с графическими модами на постобработку.

  • Server Lockdown: Встроенная система защиты и подчинения конфигураций. Администраторы серверов могут принудительно заблокировать локальные настройки клиентов и транслировать серверный эталон.

🛠 Оптимизация и Производительность

Данный плагин спроектирован с учетом минимизации нагрузки на процессор и видеокарту:

  • Тайм-аут проверок (Кэширование): Тяжелые операции поиска компонентов в иерархии Unity и сетевые запросы ZDO выполняются всего 2 раза в секунду (раз в 0.5с), а не каждый кадр в Update().
  • Zero GC Allocation: Использование кэшированных ID свойств шейдеров (Shader.PropertyToID) вместо строковых названий полностью предотвращает спам памяти и микрофризы от сборщика мусора (Garbage Collector).
  • Мировая привязка (World Space следование): Для двуручного и парного оружия реализована ежекадровая синхронизация матриц трансформации с активным визуальным представлением игрока (VisEquipment). Это полностью решило проблему «отрыва» и зависания неона в воздухе во время анимаций атак и замахов.
  • Обратная совместимость: Код написан строго под стандарт C# 7.3 без использования фич современных версий языка, что гарантирует успешную сборку в любой старой среде Unity / MSBuild без ошибок вывода типов.

💾 Установка

Для игроков (Клиент):

  1. Убедитесь, что у вас установлен BepInEx Pack для Valheim.
  2. Скопируйте скомпилированный файл ValheimWeaponContourMod.dll в папку Valheim/BepInEx/plugins/.
  3. Запустите игру один раз для автоматической генерации конфигурационного файла.

Для администраторов (Сервер):

  1. Поместите ValheimWeaponContourMod.dll в папку BepInEx/plugins/ вашего выделенного сервера.
  2. В сгенерированном файле конфигурации настройте глобальные эталоны свечения и активируйте параметр блокировки.

⚙️ Настройка конфигурации

Файл конфигурации com.yourname.weaponcontour.cfg автоматически создается в папке BepInEx/config/.

Глобальные настройки ([Служебные])

  • LockConfiguration (По умолчанию: true): При включении на сервере все подключившиеся клиенты принудительно перейдут на настройки сервера, а их локальное меню конфигурации будет временно заблокировано.

Настройки категорий (Пример для [Одноручные мечи])

Каждая из 15 категорий оружия имеет следующие параметры:

  • Thickness (Толщина): Масштаб обводки контура относительно оригинального меша.
  • Intensity (Яркость): Сила свечения Emission-материала (для категорий Двуручные топоры, Двуручные ножи и Двуручные кулаки стартовое значение по умолчанию установлено в 0 — скрыто).
  • WaveSpeed (Скорость): Скорость анимации пульсации и перелива цвета.
  • MaxAlpha (Прозрачность): Максимальный порог прозрачности неонового слоя.
  • OffsetX / OffsetY / OffsetZ: Тонкое смещение контура по осям влево/вправо, вверх/вниз и вперед/назад для идеальной калибровки кастомных моделей.

👥 Сетевая синхронизация (RPC)

Синхронизация данных реализована через оптимизированный строковый RPC-метод RPC_WeaponContour_SyncString встроенного сетевого движка Valheim (ZRoutedRpc).

  • Данные передаются в виде легкой текстовой строки при успешном подключении игрока (OnNewConnection).
  • Метод полностью автономен, не требует подключения сторонних тяжелых библиотек игры (таких как assembly_utils.dll) и автоматически возвращает управление игроку при его выходе в одиночный режим.

📄 Лицензия

Этот проект распространяется под свободной лицензией. Вы можете модифицировать, оптимизировать и адаптировать данный код под нужды своих серверов или сборок модификаций.