Mod Config Enforcer

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

Обновление

Версия 2.0 является основным изменением версии из-за нарушения обратной совместимости с версией 1. Если вы пользователь, не обновляйте MCE, если мод, который вы используете, который использует это, говорит вам об этом. Да, это будет немного болезненно, но преимущества для авторов модов заключаются в том, почему я это сделал.

Установка

  1. Если вы не используете Vortex, вам нужно будет загрузить и настроить мод BepInEx Valheim;
  2. Загрузить и скопировать ModConfigEnforcer.dll в папку Valheim Bepinex plugins.

Авторы мода

После загрузки и настройки добавьте в проект мода ссылку на файл ModConfigEnforcer.dll. Ваш файл класса подключаемого модуля C # должен как минимум выглядеть следующим образом: Тип ConfigVariable <bool> поступает от MCE. Это то, что управляет значением конфигурации для вашего мода, в зависимости от того, должен ли он быть установлен сервером или нет. Он использует общий тип C # — в настоящее время поддерживаются любые из следующих типов (ограничение связано с тем, какие типы данных класс ZPackage будет читать и записывать из своего потока данных):

using System.Reflection;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using ModConfigEnforcer;

namespace YourMod

[BepInPlugin(«you.yourmod», ModName, Plugin.Version)]
public class Plugin : BaseUnityPlugin

public const string Version = «1.0»;
public const string ModName = «Your Mod»;
Harmony _Harmony;

public static ConfigVariable<bool> TestVariable;

private void Awake()

ConfigManager.RegisterMod(ModName, Config);
TestVariable = ConfigManager.RegisterModConfigVariable<bool>(ModName, «Test Variable», true, «General», «Just a test variable, doesn’t do anything.», false);
_Harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), null);

private void OnDestroy()

if (_Harmony != null) _Harmony.UnpatchSelf();

int
uint
bool
байт
байт[]
символ
сбайт
длинный
Улонг
плавать
двойной
нить
ZPackage
Список <строка>
Вектор3
Кватернион
ZDOID
HitData

Чтобы использовать переменную конфигурации в коде, просто вызовите (используя приведенный выше пример) Plugin.TestVariable.Value.

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

Mod Config Enforcer

Оставьте комментарий