Mods / Arcanum Lib
- Tags:
- Authors:
- DreadMob, Flajakay
- Side:
- Both
- Created:
- Aug 26th at 12:53 PM
- Last modified:
- Oct 3rd at 8:14 PM
- Downloads:
- 1161
-
For testers (for Vintage Story 1.22.1 - 1.22.7):
ArcanumLib.zip 1-click install
Arcanum Lib
A shared utility library for Vintage Story. Provides reusable systems and helpers; no in-game content on its own.
Note. ArcanumLib is a utility library, not a standalone mod. Useful functions are available for any Vintage Story mod, but the API is driven by the Alegacy project set.
What it is
ArcanumLib is a low-level, instance-based shared layer for Vintage Story. Its strongest parts are the HUD/GUI, hologram, status-effect and particle systems — but it also covers persistence, events, actions, scheduling, networking and small utilities. It is the common ground under the Alegacy mods.
Arcanum Lib will keep expanding with new helpers and systems. If you have an idea, a missing utility, or a whole subsystem in mind, suggest it in our Discord — we will implement it.
What it is not
- It does not add blocks, items, creatures, or gameplay on its own.
- It is not a high-level framework that writes a mod for you.
- It is not a guaranteed-stable public SDK.
Capabilities
GUI & HUD
HudPanel, HudDialog, PacketIconHud, TransientOverlay
Holograms
SingleHologramRenderer, AreaHologramRenderer
Particles
ParticleEffectBuilder, ParticleUtils.Colors
Status & Effects
StatusEffectService, IStatusEffect, StatModifierEffect
Persistence
ModDataStore, IModDataStore<T>, versioned JSON, migrations
Events & Actions
EventBusService, ActionRegistryService, ActionExecutorService
Scheduling
DeferredWorkService, GameTimeScheduler
Network
TypedNetworkChannel, ServerBroadcaster
Helpers
ApiExtensions, PositionUtils, CollectibleNameResolver, DamageHelper
Lifecycle
ArcanumRuntime, ArcanumServices, ArcanumLibModSystem
Who should use it
Useful for any Vintage Story mod that needs the listed systems. The defaults and examples are oriented toward the Alegacy mods, so expect the API to move as those projects evolve.
Quick examples
var store = ModDataStore.GetOrCreate<MySaveData>(sapi, "mymod", "state", 1);
store.Data.Counter++;
store.MarkDirty();
var svc = ArcanumServices.Get<StatusEffectService>()!;
var effect = new StatModifierEffect("mymod:swiftness", "walkspeed", 1.5f);
svc.Apply(entity, effect, durationMs: 10000, data: null);
var p = new ParticleEffectBuilder()
.Count(8, 16)
.Color(ParticleUtils.Colors.Fire)
.Position(pos, 0.5f)
.VelocityUp(0.2f, 0.6f)
.Life(0.8f)
.Gravity(-0.02f)
.Size(0.25f, 0.1f)
.Quad()
.Build();
capi.World.SpawnParticles(p);
How to reference
Add ArcanumLib.dll as a dependency. Ensure ArcanumLibModSystem loads before your mod system, then resolve services through ArcanumServices.Get<T>() or ArcanumRuntime.Current.Services.
Used with
Arcanum Lib is already used by the Alegacy server and the Alegacy Quest Framework mod.
Documentation
API docs are in the release archive and online at dreadmob.github.io/ArcanumLib.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.0.0-rc.7 | arcanumlib | 452 | Oct 3rd at 8:14 PM | ArcanumLib.zip | 1-click install | ||
|
bug fixes | |||||||
| 1.0.0-rc.6 | arcanumlib | 15 | Oct 3rd at 6:01 PM | ArcanumLib.zip | 1-click install | ||
|
UI features and more | |||||||
| 1.0.0-rc.5 | arcanumlib | 118 | Sep 29th at 4:33 PM | Empty | ArcanumLib.zip | 1-click install | |
| 1.0.0-rc.4 | arcanumlib | 162 | Sep 21st at 11:14 AM | Empty | ArcanumLib.zip | 1-click install | |
| 1.0.0-rc.3 | arcanumlib | 45 | Sep 18th at 1:05 PM | ArcanumLib.zip | 1-click install | ||
|
UI features (beta) | |||||||
| 1.0.0-rc.2 | arcanumlib | 95 | Sep 5th at 6:15 PM | ArcanumLib.zip | 1-click install | ||
|
Add display cull faces render pass patch | |||||||
| 1.0.0-rc.1 | arcanumlib | 274 | Aug 26th at 12:58 PM | Empty | ArcanumLib.zip | 1-click install | |
Great work I can't wait to see it in a bunch of mods
Thanks! Really appreciate it 🙏