Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
AxtralProjection
A spectral axe fells nearby trees with precise tree-base targeting, progressive durability and Axtral Exhaustion.
| Date uploaded | 2 weeks ago |
| Version | 0.2.1 |
| Download link | Haragon-AxtralProjection-0.2.1.zip |
| Downloads | 62 |
| Dependency string | Haragon-AxtralProjection-0.2.1 |
This mod requires the following mods to function
ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351README
Axtral Projection
A spectral axe sweeps through nearby trees, delivering native chop damage while preserving falling logs and resource drops. Inspired by RuneScape: Dragonwilds; no RuneScape assets are included.
NOTE: The default keybind to use the spell is G - this conflicts with the game's default keybind for the Radial Wheel. Either change the keybind for this mod in the config or rebind the Radial Wheel in-game. H is unused, making it a good candidate for the Radial Wheel, and G feels good as far as being able to hold it and move your target area around.
Cast
Hold G to aim; release G to cast. Movement keys do not interrupt aiming. Custom modifiers are required to begin aim, but only the main key releases it. Unmet Elder requirements warn before any aiming/highlighting. Right mouse or Escape cancels. Rebind Controls.CastKey with a configuration manager. Controls.GamepadButton supplies a separate gamepad binding; default None avoids vanilla conflicts.
Default requirements: wood cutting level 15, an unbroken woodcutting axe, and the Elder's power active. The highest-tier eligible inventory axe is automatically equipped. It must stay equipped through release. The chosen axe must remain in inventory during flight.
The terrain-following preview is a trapezoid: 1 meter wide at your feet, widening at a 30-degree angle over 15 meters. Only the ground-level tree-base X/Z point counts; no trunk or canopy radius expands it. Up to 15 counted targets are selected, nearest forward first. Beech_small1 and Beech_small2 can also be cut without consuming a target slot. An angle of 0 makes a straight rectangle. Stumps are off by default. Logs, creatures, buildings and dropped items are never selected.
Each non-stump target hit costs 2% of that axe's maximum durability. Charges happen as the wave reaches targets, not upfront. The breaking hit lands; remaining hits stop. No skill XP is granted by default.
Axtral Exhaustion
A successful nonempty cast applies Axtral Exhaustion for 180 seconds, visible in the normal status-effect area with an icon and timer. Casting is blocked until it expires. There is no custom cooldown display or saved relog timer. The effect follows normal Valheim lifecycle behavior; relog persistence is not promised. Death clears it. Failed or cancelled aim and empty volumes apply no effect and spend no durability.
Install
Install BepInExPack_Valheim and Jotunn 2.30.2 separately. Extract this ZIP into the game or mod-profile directory, preserving BepInEx/plugins/Haragon-AxtralProjection/. Both project DLLs are required. When upgrading from a ZIP that used BepInEx/plugins/AxtralProjection/, remove the old mod DLLs from that folder so only the new copy is loaded; keep your config file. Compile baseline is Valheim 1.0.2; this candidate still needs in-game validation.
Launch once to generate BepInEx/config/haragon.AxtralProjectionValheim.cfg. The GUID rename creates a fresh config; previous config files are not migrated. Rune items/recipes and resource requirements are no longer registered.
Upgrading from 0.2.0
Existing config values are preserved, not overwritten by new defaults. Reset these entries with your configuration manager (or edit the config while the game is closed): Controls.CastKey = G, Spell.ElderRequirement = Active, Spell.StartWidth = 1, Spell.DurabilityCostPercent = 2, Spell.Range = 15. Spell.ConeAngle stays 30; its new allowed minimum is 0. StartWidth is now clamped to 0–3 meters. Saplings still receive normal non-stump durability/XP handling; only their target-cap accounting is exempt.
Configuration
Spell values have visible bounds and are clamped when read. Configuration-manager changes apply on the next cast; an in-flight cast keeps its snapshot. Rebinding while aiming cancels safely. For manual config-file edits, reload via your config tool or restart the game.
| Spell setting | Default | Bounds / meaning |
|---|---|---|
| Range | 15 | 10–50 meters |
| ConeAngle | 30 | 0–45 degrees, full widening angle |
| StartWidth | 1 | 0–3 meters, full width at origin |
| MaxTrees | 15 | 2–50 counted targets, nearest forward first; Beech_small1 and Beech_small2 are uncapped |
| Cooldown | 180 | 0–600 seconds; 0 disables Exhaustion |
| WoodCuttingLevel | 15 | 0–100, required wood cutting skill level |
| TravelSpeed | 10 | 1–50 meters/second |
| DurabilityCostPercent | 2 | 0–25% max axe durability per non-stump hit; 0 disables |
| SkillXpPerTree | 0 | 0–1 skill gain per non-stump hit; 0 disables |
| ElderRequirement | Active | None / Slotted / Active |
| ClearStumps | false | Include existing stumps; not newly created ones |
| AdditionalPrefabs | empty | Comma-separated exact Destructible prefab names from other mods |
| ExcludedPrefabs | empty | Exact prefab names to never fell; overrides inclusion |
On vanilla servers the spell runs client-side. If the server also installs the mod and Jotunn, gameplay settings sync from it. Without server installation, limits are self-imposed: this is trusted-client co-op, not anti-cheat. Preview, pose and spectral axe are local visuals; native tree destruction replicates.
Test first in a disposable world: falling trees retain native physics. Supply sanitized BepInEx logs when reporting errors.
CHANGELOG
Changelog
All notable changes are documented here using Keep a Changelog-style sections.
[0.2.1] - 2026-10-07
Fixed
- Starting/holding aim now ignores unrelated movement keys. Configured modifiers gate starting only; release follows the initiating main key or controller button.
- Unmet Slotted or Active Elder requirements warn before aiming/highlighting; release still rechecks them.
- Target eligibility uses the ground-level tree-base point, without collider-radius padding. Preview boundary follows terrain while retaining matching X/Z geometry.
Changed
- Default keybind is G; default Elder requirement is Active.
- Default range is 15m, starting width 1m (bounds 0–3m), and durability cost 2%.
- ConeAngle permits 0 degrees for a straight rectangle; default remains 30 degrees.
Added
- Beech_small1 and Beech_small2 are eligible without consuming MaxTrees slots; exclusion, ward, tier, geometry and normal non-stump durability/XP rules still apply.
- Regression coverage for strict base-point bounds, input-device release ownership, Elder pre-aim denial and uncapped saplings.
[0.2.0] - 2026-10-07
Added
- Radius-aware trapezoid targeting and preview, starting width, nearest-forward target cap and exclusion list.
- Elder Forsaken Power requirement (Slotted by default).
- Progressive percentage-based axe durability and opt-in wood cutting XP.
- Rebindable modifier shortcut and independent optional gamepad control.
- Native Axtral Exhaustion status effect with embedded icon and timer.
- Game/Unity import audit, version consistency checks and rebuild-only local packaging/release scripts.
Changed
- Plugin GUID is now
haragon.AxtralProjectionValheim; a fresh config is generated without migration. - Defaults: range 20m, travel speed 10m/s, cooldown 180s, wood cutting level 15, stumps disabled.
- Config keys are now WoodCuttingLevel and AdditionalPrefabs, with bounded numeric reads.
- Vanilla-server clients are permitted; config sync is used when the server also installs the mod.
Deprecated
- Rune item, recipe, resource configuration and payment; dormant source remains isolated.
Removed
- Custom cooldown UI and saved ready-at timestamp; Exhaustion follows normal Valheim lifecycle, with no custom relog persistence.
Fixed
- Stale Character.Message import by compiling against supplied Valheim 1.0.2 DLLs and adding a signature-compatible HUD helper.
- Cleanup for cancelled/aborted flights and scene unload; use Jotunn's registered input names.
[0.1.0] - 2026-10-04
Added
- Initial compiled gameplay candidate with cone targeting, rune resource gates and spectral axe effects.