公共类 插件 : 基础Unity插件
{
// 此字段必须存在并设置为一个对象,MCE 才能处理你的模组
自动化配置发现;
// 此字段将被 MCE 发现并提取
public ConfigEntry<int> Something;
// 此字段将被 MCE 发现并获取,其值应为希望服务器同步到客户端的文件的完整路径
public string File_TestFile = "C:\Steam\steamapps\common\Valheim\BepInEx\plugins\testfile.txt";
// 该字段将被 MCE 忽略,因此不会从服务器同步到客户端
[不可序列化]
public ConfigEntry<bool> OtherVar;
public Awake()
{
// 必须在 Awake 中设置此项,以确保 MCE 的自动配置发现能正确找到你的模组
AutomatedConfigDiscovery = this;
// 所有你希望MCE发现的ConfigEntry字段,必须在你模组的Awake结束前完成绑定
Something = Config.Bind(“Section”, “Something”, 0, “Description”);
OtherVar = Config.Bind("Section", "Other Var", true, "由于其上带有 [NonSerialized] 特性,MCE 将忽略此配置设置");
}
// 这些完全是可选的。如果你没有它们,你的模组就不会在这些事件发生时收到回调
服务器配置已接收
配置已重载
// 如果需要文件同步,则必须存在此方法
void FileChanged() {}
}公共类 插件 : 基础Unity插件
{
// 此字段必须存在并设置为对象,MCE 才能处理你的模组
公共对象 自动配置发现;
public WhateverYouWantToCallThis ConfigStuff = new WhateverYouWantToCallThis();
public Awake()
{
// 在Awake中设置此项是必需的,以确保MCE的自动配置发现能正确找到你的模组
自动配置发现 = ConfigStuff;
// 你希望MCE发现的所有ConfigEntry字段都必须在你模组的Awake结束前绑定
Something = Config.Bind(“Section”, “Something”, 0, “Description”);
OtherVar = Config.Bind("Section", "Other Var", true, "此配置设置将因 [NonSerialized] 属性而被 MCE 忽略");
}
}
public class 你想叫它什么都行
{
// 此字段将被 MCE 发现并拾取
public ConfigEntry<int> Something;
// 此字段将被 MCE 忽略,因此不会从服务器同步到客户端
[不可序列化]
public ConfigEntry<bool> OtherVar;
// 这些完全是可选的。如果你没有它们,你的模组只是不会在这些事件发生时收到回调。
服务器配置已接收
配置已重载() {}
}使用 System.Reflection;
使用BepInEx;
使用BepInEx.Logging;
使用HarmonyLib;
使用 ModConfigEnforcer。
命名空间 YourMod
{
[BepInPlugin("you.yourmod", ModName, Plugin.Version)]
public class Plugin : BaseUnityPlugin
{
public const string Version = "1.0";
public const string ModName = "你的模组";
和谐 _Harmony;
public static ConfigVariable<bool> TestVariable;
public static FileWatcherVariable FileVariable;
private void Awake()
{
ConfigManager.RegisterMod(ModName, Config, ServerConfigReceived, ConfigReloaded);
TestVariable = ConfigManager.RegisterModConfigVariable<bool>(ModName, "测试变量", true, "通用", "只是一个测试变量,没有任何作用。", false);
FileVariable = ConfigManager.RegisterModFileWatcher(ModName, Path.Combine(Path.GetDirectoryName(Info.Location), "test.png"), false, FileChanged);
_Harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), null);
}
私有 void OnDestroy()
{
如果 (_Harmony != null) _Harmony.UnpatchSelf();
}
private void ServerConfigReceived()
{
}
私有方法 配置已重新加载
{
}
私有方法 文件已更改
{
}
}
}
修改前置工具
2026-09-12 14:33:53
修改前置工具

史诗战利品
randyknapp2026-09-09 21:20:10
为英灵神殿添加战利品掉落、魔法物品和附魔。

制作 建造 熔炼 烹饪 燃料 从容器中取出
aedenthorn2025-06-30 08:34:14
让你在制作、建造、使用熔炉和窑炉、添加燃料、烹饪食物等时,可以使用附近容器中的资源。

种植一切
Advize2025-09-09 11:15:37
重写了bkeyes93的种植增强模组。允许你的种植者种植浆果丛、蓟、蒲公英、蘑菇、此前无法获取的树种以及其他装饰性植物。还包括许多其他杂项功能(详见

无限制传送门
frostedplaything4102023-09-02 17:39:40
无限制传送门是一个客户端模组,允许玩家通过传送门传送任何物品。该模组提供广泛的自定义选项,让玩家能够控制物品限制、移除限制,

农场格子
Sarcenzzz2023-06-14 11:38:34
允许所有通过种植器种下的植物自动对齐并放置在网格中,确保它们有足够的生长空间。

更好的UI
MKMasa2021-04-15 09:19:42
这个模组对游戏界面做了一些细微的调整。你可以编辑并选择想要启用的更新内容。

更好的射箭
Ishid42026-09-10 16:16:51
为弓术玩法添加了许多功能和改动,包括全新的箭袋系统、可回收的箭矢、更精准的瞄准以及逼真的箭矢物理效果。