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.
DataForge
Easy way to configure recipes, items, pieces and effects by organized reference system. Item cloning with visual tweaks and localization. Weight, stack, amount multiplier for items. Shows comfort group and value in hammer tab.
| Date uploaded | a day ago |
| Version | 1.0.10 |
| Download link | sighsorry-DataForge-1.0.10.zip |
| Downloads | 84 |
| Dependency string | sighsorry-DataForge-1.0.10 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
DataForge
Easy way to configure recipes, items, pieces and effects by organized reference system. Item cloning with visual tweaks and localization.
Weight, stack, amount multiplier for items. Shows comfort group and value in hammer tab.
Small qol of marking the comfort number and comfort group within hammer tab.
Included Quality-Of-Life Tweaks
DataForge also includes a few optional helpers for modpack operation:
- show comfort values in the hammer build UI
- highlight same comfort-group pieces while hovering a comfort piece
- ignore station extension spacing checks
- allow fireplaces to store extra fuel without changing the displayed vanilla max fuel
- profile lobby-to-world startup timing while diagnosing slow joins
Workflow
It is built around a simple workflow:
- Let DataForge generate readable reference files from the loaded modpack.
- Copy only the entries you want to change into an override file.
- Edit the compact fields you care about.
- Use full scaffold files only when you need every supported field.
The goal is to make large modpacks easier to tune without turning every item, recipe, or piece into a wall of config.
Why Use It
- Reference files are generated from the actual loaded game data, including vanilla and modded content.
- Reference output omits common default values, so the files stay useful for browsing.
- Override files are compact and hand-editable.
- Full scaffold generation is available on demand for deep edits.
- YAML payloads are server-synced, so server rules can drive client behavior.
- Owner sections and resource-map sorting make large references easier to scan.
- Cloning, material/icon tweaks, localization, and live-safe refreshes are handled in one place.
- Several modpack stability helpers are included for common Valheim mod conflicts.
Supported Domains
Items
DataForge can edit common item fields, including:
- name, description, weight, value, stack size, teleportability, floating behavior
- durability, food values, armor, equip modifiers, damage, block values, attacks
- status effects attached to equip, consume, attack, perfect block, or full adrenaline
- item cloning from an existing prefab
- visual overrides such as material, color, emission, custom icon, and auto icon rendering
- item acquisition multipliers for drops, pickup, crafting, cooking, and smelting
Example:
- item: SwordIron
override: true
weight: 0.8
durability: 250, 50
damage:
slash: 55, 0
primaryAttack:
cost: 12
Clone example:
- item: SwordIronHeavy
override: true
cloneFrom: SwordIron
name: Heavy iron sword
weight: 1.4
visual:
icon: auto
iconRotation: 23, 51, 25.8
scale: 0.85
material: blackmetal
color: 0.8, 0.85, 1, 1
emission: 0.15
damage:
slash: 72, 0
Recipes
Recipes use the result prefab as the main key. If the same result has multiple recipes, reference files use suffixes such as SwordIron;1 and SwordIron;2.
DataForge supports:
- compact crafting station syntax
- compact resource syntax
- recipe amount
- recipe removal
- one-of ingredient recipes
- quality-based output bonus fields
Example:
- recipe: SwordIron
override: true
craftingStation: forge, 2
resources:
- Iron: 20, 10
- Wood: 5
Pieces
Piece overrides focus on the fields that are most useful for modpack tuning:
- build table and category placement
- sort order inside a build tab
- required crafting station
- build resources
- health
- comfort amount and comfort group
- visual material overrides, plus prefab scale overrides for newly placed pieces
- selected component configuration for containers, crafting stations, extensions, smelters, cooking stations, fermenters, sap collectors, and beehives
stationExtensioncan add aStationExtensioncomponent to a piece that does not already have one.stationExtension: Nonecan disable an existing extension, and native/original extension components are restored from baseline instead of being deleted.craftingStationcan edit an existing station component or add one to a piece that does not already have one. If the field is removed later, DataForge removes only the station component it added.
Example:
- piece: wood_wall
override: true
pieceTable: Hammer
category: Building
sortOrder: 80
needStation: None
health: 250
visual:
scale: 2
material: amber
resources:
- Wood: 4
Component example:
- piece: smelter
override: true
smelter:
input: Coal, 20, 10
output: 2, 30
conversions:
- CopperOre: Copper
- TinOre: Tin
Status Effects
Status effects can be edited or cloned with compact fields for duration, cooldown, icons, messages, stats, skill modifiers, damage modifiers, and effect prefabs.
DataForge also adds tooltip lines for attackDamage and raiseSkill, using localization tokens from localization/English.yml.
Example:
- effect: Rested
override: true
time: 600, 0
stats:
regenMultiplier: 1, 1.5, 1
raiseSkill: Swords, 1.0
attackDamage: Swords, 1.25
damageTakenModifiers:
fire: Resistant
poison: Weak
Files
DataForge uses:
BepInEx/config/DataForge/
Main files:
items.yml
items_*.yml
items.reference.yml
recipes.yml
recipes_*.yml
recipes.reference.yml
effects.yml
effects_*.yml
effects.reference.yml
pieces.yml
pieces_*.yml
pieces.reference.yml
z_materials.reference.txt
z_resourcemap.txt
localization/*.yml
icon/*.png
Files like items_extra.yml, recipes_balance.yml, effects_magic.yml, and pieces_building.yml are valid override files. This lets you split large configs by theme without changing the schema.
Reference And Scaffold
Reference files are generated automatically when game data is ready and the client/server is the source of truth.
Reference files are meant for browsing and copy-paste edits:
- common defaults are omitted
- entries are grouped by owner section when possible
- item and recipe references use resource-map sorting
- piece references use tier sorting
Full scaffold files are generated only by command:
dataforge:full item
dataforge:full recipe
dataforge:full effect
dataforge:full piece
dataforge:full all
Full scaffold files expose the supported field surface more completely and are useful when a reference entry hides a default value you want to override.
Localization
Server-synced localization files live in:
BepInEx/config/DataForge/localization/
Example:
$df_item_meadhealthtest: "Test item"
$df_item_meadhealthtest_description: "A test item cloned from major healing mead."
Use the token in an override field:
- item: MeadHealthtest
override: true
cloneFrom: MeadHealthMajor
name: $df_item_meadhealthtest
description: $df_item_meadhealthtest_description
You can also write direct text instead of a $ token.
DataForge creates English tooltip tokens for effect fields such as attackDamage and raiseSkill. You can edit them in English.yml:
$df_se_tooltip_attack_damage: "{0} attack damage: <color=orange>x{1}%</color>"
$df_se_tooltip_raise_skill: "{0} skill XP: <color=orange>{1}</color>"
Icons And Materials
Custom item icons are loaded from:
BepInEx/config/DataForge/icon/
Use 256x256 PNG files when possible. ServerSync synchronizes the YAML value, but each client still needs the same local PNG file.
z_materials.reference.txt is generated as a material lookup list for visual overrides.
visual.scale changes the item model's attach/drop mesh scale without shrinking icon: auto snapshots, so small world models can still keep readable inventory icons.
Status effects can reuse an item icon with icon: item:ItemPrefabName, including DataForge-generated icon: auto item icons.
Github
CHANGELOG
Changelog
1.0.10
- Fixed item attack health percentage costs being clamped to 1%, which could make BloodMagic weapons consume far less health than intended when applied through DataForge.
- Clarified item attack
costcomments so the fourth value is documented as a percent value, e.g.40means 40%.
1.0.9
- Added
visual.scalefor item attach/drop meshes while keepingicon: autosnapshots readable. - Added status-effect icon reuse with
icon: item:ItemPrefabName. - Removed item attack
projectileandspawnOnTriggerYAML fields to keep attack overrides focused.
1.0.8
- Added item attack projectile overrides for primary and secondary attacks.
- Added full scaffold and reference output for
projectile: prefab, velocity, velocityMin, count, accuracy, accuracyMin. - Kept default projectile tuples hidden from compact reference files.
1.0.7
- Added
spawnOnTriggersupport for primary and secondary item attacks. - Improved auto icon cache invalidation with renderer fingerprints and stale cache pruning.
- Fixed auto icon snapshots blending together when multiple icons are generated in the same startup pass.
- Clarified recipe YAML header examples for result amounts and suffixed recipe keys.
1.0.6
- Changed DataForge's VNEI compatibility lookup to resolve only the required VNEI types from the VNEI plugin assembly.
- Reduced HarmonyX reflection warnings caused by VNEI's optional EpicLoot compatibility type when EpicLoot is not installed.
1.0.5
- Delayed item, recipe, piece, and status-effect override application until the game data is fully ready.
- Improved status-effect VFX/SFX prefab resolution for effects referenced by other status effects.
- Suppressed missing custom icon warnings on headless dedicated servers.
- Improved status-effect clone cleanup and refresh across reloads and world transitions.
1.0.4
- Added tooltip lines for status-effect attack damage and skill experience modifiers.
- Added localization defaults and improved missing localization fallback for status-effect tooltips.
- Added piece scale and visual material overrides, plus
stationExtension: Nonesupport. - Added automatic VNEI reindexing after DataForge item, recipe, and piece changes.
- Improved piece crafting-station component overrides for adding and removing DataForge-managed stations.
1.0.3
- Added a client-side hammer highlight for crafting stations and their station extensions.
- Changed the weight multiplier option to apply to all item weights while preserving explicit item YAML
weightoverrides. - Kept stack multiplier behavior limited to stackable items.
1.0.2
- Changed the mod author/GUID to
sighsorry.DataForge.
1.0.1
- Removed dynamic loading of
UnityEngine.ImageConversionModulefrom item and status-effect icon loaders. - Added a static
UnityEngine.ImageConversionModulebuild reference so custom icon loading and auto-icon cache PNG export keep working without runtime module probing. - Improved package validation compatibility for Thunderstore by avoiding dynamic Unity module loading.
- Added status-effect ownership interop support so DataForge-owned status effects can be treated as exclusive by companion mods.
- Improved hammer comfort UI behavior, including same comfort-group highlighting and hidden-piece masking compatibility.
- Documented
stationExtensionadd/remove behavior for piece overrides.
1.0.0
- Initial public release of DataForge.