SplitScrollMod
Scroll your mouse wheel to adjust the amount when splitting item stacks.
模組介紹 作者原文
Split Scroll Mod
Scroll your mouse wheel to adjust the amount when splitting item stacks — no more clicking and dragging the slider one item at a time.
Features
- Scroll up/down with the split-stack slider open to increase/decrease the amount
- Modify the amount by holding CTRL or SHIFT
- Works anywhere the vanilla split dialog appears
- Lightweight — no impact on performance or other systems
Installation
- Install BepInExPack Valheim if you haven't already (handled automatically if installing via a mod manager)
- Install this mod through r2modman, Mod Manager or manually drop the DLL into BepInEx/plugins/
Usage
- Open your inventory
- Split a stack as normal (Shift+click)
- With the split dialog open, scroll your mouse wheel to adjust the amount by 1 per notch
- Hold CTRL to adjust by 10 per notch or hold SHIFT to adjust by 5 per notch
- After first launch, edit the config file in BepInEx\config\com.celticslayer.splitscroll.cfg for custom scroll amounts.
Compatibility
- Client-side only — does not affect server state or require other players to have it installed
- Should be compatible with other inventory/UI mods, since it only modifies the local split dialog's slider value
Source
using BepInEx;
using BepInEx.Configuration;
using UnityEngine;
namespace SplitScrollMod
{
[BepInPlugin("com.celticslayer.splitscroll", "Split Scroll Mod", "1.1.0")]
public class Plugin: BaseUnityPlugin
{
private ConfigEntry baseStep;
private ConfigEntry shiftStep;
private ConfigEntry ctrlStep;
private void Awake()
{
baseStep = Config.Bind(
"Scrolling",
"BaseStep",
1f,
"Amount changed per scroll notch with no modifier key held"
);
shiftStep = Config.Bind(
"Scrolling",
"ShiftStep",
5f,
"Amount changed per scroll notch while holding Shift"
);
ctrlStep = Config.Bind(
"Scrolling",
"CtrlStep",
10f,
"Amount changed per scroll notch while holding Ctrl"
);
}
private void Update()
{
if (InventoryGui.instance == null) return;
var splitDialog = InventoryGui.instance.m_splitDialog;
if (splitDialog == null ||!splitDialog.IsActive) return;
float scroll = Input.GetAxis("Mouse ScrollWheel");
if (scroll == 0f) return;
bool ctrl = Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl);
bool shift = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);
float step;
if (ctrl)
step = ctrlStep.Value;
else if (shift)
step = shiftStep.Value;
else
step = baseStep.Value;
if (scroll > 0f)
splitDialog.SliderValue += step;
else if (scroll < 0f)
splitDialog.SliderValue -= step;
}
}
}
Changelog
1.0.0
- Initial release
1.0.1
- Fixing Readme Markdown
1.0.2
- More formatting fixes
1.1.0
- Added modifiers for scroll amount (thanks u/overkillsd)
1.1.1
- Added Changelog
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: