Valheim
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
6 hours ago
Downloads
1.1K
Size
463KB
Dependency string
sighsorry-DataForge-1.1.5
ADDatHost Valheim hosting
30% off!

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

Workflow

It is built around a simple workflow:

  1. Let DataForge generate readable reference files from the loaded modpack.
  2. Copy only the entries you want to change into an override file.
  3. Edit the compact fields you care about.
  4. 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
  • exact, case-sensitive reuse of existing hammer categories; unknown names in pieces.yml create a new category
  • per-hammer category ordering and localized display labels through pieceCategory.yml
  • 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
  • stationExtension can add a StationExtension component to a piece that does not already have one. stationExtension: None can disable an existing extension, and native/original extension components are restored from baseline instead of being deleted.
  • craftingStation can 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

pieceCategory.reference.yml records the detected category order for every build tool. Copy only the sections you want to control into pieceCategory.yml:

Hammer:
- Misc
- Furniture, $hud_furniture
- Furniture: GB_Parchment_Tool
- Stone Building: GB_Parchment_Tool
- ValheimCuisine, $df_piececategory_valheimcuisine
GB_Parchment_Tool: []

Category names are exact and case-sensitive. The optional second value is a literal tab label or a $ localization token. A scalar entry controls order and label. A mapping such as Furniture: GB_Parchment_Tool moves every matching source-table piece into the destination table named by the surrounding section; adding , $hud_furniture before the colon applies the label at the same time. A plain category entry and multiple mappings may share a destination category, allowing several source tools to merge into one tab. Conflicting labels for that destination are rejected. An exact category already present at the destination is merged, while a missing category is added. A source tool/category pair can move to only one destination. Individual pieces.yml pieceTable assignments take final priority, and removing a category move restores baseline membership.

Listed categories move first, while omitted categories keep their relative order afterward. Empty source categories created by a move are hidden and restored with the mapping. After moving every desired category out of a source tool, write GB_Parchment_Tool: [] to leave that source section explicitly empty. The empty list alone does not move pieces. A plain dormant entry still does not create or preserve an empty build tab.

When Homestead is installed, its Homestead category is owner-managed: DataForge omits it from pieceCategory.reference.yml, ignores it in pieceCategory.yml, and leaves it fixed at the end. pieces.yml also cannot assign pieces to that category.

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
pieceCategory.yml
pieceCategory.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
  • pieceCategory.reference.yml records the effective per-hammer category order and labels

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

https://github.com/sighsorry1029/DataForge

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.