Skip to content

Pack Integration

Drehverschluss edited this page Nov 7, 2026 · 2 revisions

Pack integration

RunelessRPG's six attributes are normal attributes. Anything that can put attribute modifiers on gear can give mana: equipment configs of other mods, Apotheosis, KubeJS, datapack enchantments, loot functions.

Mana on RPG Series gear

The RPG Series class mods read their weapon and armor stats from config files: config/wizards/equipment_v2.json, config/paladins/equipment_v2.json, config/rogues/equipment_v3.json and config/archers/equipment.json (with ranged_weapons and melee_weapons instead of weapons). Every armor piece and weapon has a list attributes, and any attribute id works there, including RunelessRPG's:

{
  "armor_sets": {
    "wizard_robe": {
      "head": {
        "armor": 1,
        "attributes": [
          { "attribute": "spell_power:arcane", "value": 0.2, "operation": "ADD_MULTIPLIED_BASE" },
          { "attribute": "runelessrpg:max_mana", "value": 5.0, "operation": "ADD_VALUE" },
          { "attribute": "runelessrpg:mana_regen", "value": 0.1, "operation": "ADD_VALUE" }
        ]
      }
    }
  },
  "weapons": {
    "staff_wizard": {
      "attack_damage": 4.0,
      "attack_speed": -3.0,
      "attributes": [
        { "attribute": "runelessrpg:mana_cost", "value": -0.05, "operation": "ADD_VALUE" }
      ]
    }
  }
}

Only the changed entries are shown; keep everything else of the file. The percentage attributes take fractions (-0.05 = −5 % Mana Cost).

Dungeon Difficulty

Dungeon Difficulty scales the attributes of looted gear by the difficulty level of the place where it is found. It only scales the attributes listed in loot_scaling (config/dungeon_difficulty/difficulty_v2.json). To make mana on armor grow with the level, add RunelessRPG's attributes to the attributes list of the existing armor entry:

{
  "meta": {
    "rounding_unit": 0.01
  },
  "loot_scaling": {
    "armor": [
      {
        "item_matches": { "id": "", "loot_table_regex": "", "rarity_regex": "" },
        "attributes": [
          { "attribute": "minecraft:generic.armor", "operation": "MULTIPLY_BASE", "randomness": 0.0, "value": 0.1, "offset": 0.0 },
          { "attribute": "runelessrpg:max_mana", "operation": "MULTIPLY_BASE", "randomness": 0.0, "value": 0.1, "offset": 0.0 },
          { "attribute": "runelessrpg:mana_regen", "operation": "MULTIPLY_BASE", "randomness": 0.0, "value": 0.1, "offset": 0.0 }
        ]
      }
    ]
  }
}

Only the changed entries are shown; keep everything else of the file. An empty id matches every item.

  • MULTIPLY_BASE raises the item's own add_value modifiers of that attribute by value per level (10 % here), so only gear that already has mana gets more. ADDITION adds value per level to every matching item.
  • rounding_unit: Dungeon Difficulty rounds every scaled value to this unit. The default 0.5 rounds +0.11/s Mana Regeneration down to 0; with 0.01 the small steps survive. The setting is global and also affects armor, health and the other scaled attributes (e.g. +1.1 armor instead of +1).
  • Tested with Dungeon Difficulty 3.9.2 and Dungeon Difficulty Addition 2.4.2 on a Wizard Hat (+5 Max Mana, +0.1/s): Power Level 1 gives +5 / +0.1/s, Power Level 2 gives +5.5 / +0.11/s, Power Level 5 gives +7 / +0.14/s. Dungeon Difficulty Addition uses Power Level − 1 as the level, so Power Level 1 gives no bonus.
  • Weapons work the same way in the weapons list. Mana Cost is a percentage that is better when lower; scaling it with MULTIPLY_BASE makes a −10 % item −15 % at level 5, so the floor minManaCostPercent matters more with it.

Attribute icons

RunelessRPG ships an icon for each of its attributes in assets/runelessrpg/textures/attribute_icon/<attribute>.png (32×32). Mods that look for attribute icons in that place show them, for example Gearscope.

Apothic Attributes does not read this folder. To show icons in its attribute tooltips, a resource pack can add a font with the icons as characters (a bitmap provider in assets/<namespace>/font/…) and put those characters in front of the attribute names in the language file (attribute.name.runelessrpg.max_mana and so on). This is a resource pack change only; RunelessRPG does not need to know about it.

Making spells free or more expensive

Goal How
One spell free Add it to #runelessrpg:cost/free
One spell with its own cost A per-spell cost in a datapack
Move a skill to another category Add it to that category tag (checked before the others, see Spell costs)
A whole category back to runes spellsEnabled = false (and so on) in the server config
All costs higher or lower The multipliers or tierCosts in the server config
Costs depending on the situation ManaCostEvent from a mod or KubeJS

Balancing tips

  • Base pool: 20 mana covers five tier-0 spells (4 each) or two tier-3 spells (10 each). With 0.5 mana per second a tier-0 spell comes back in 8 seconds. Raise baseMaxMana and baseManaRegen if casters run dry too quickly at the start, or give starter gear some mana.
  • Gear first: the bundled enchantments and affixes give fixed amounts (Manafused V is +15 per armor piece). A full set with enchantments and affixes can reach well over 100 max mana; balance spell costs against that, not against the base pool.
  • Mana Cost floor: reductions from enchantments, affixes, Magical Stability and Spell Infinity add up quickly. The floor (minManaCostPercent, 50 %) keeps spells from becoming free; lower it with care.
  • Leech: keep Spell Mana Leech lower than Mana Leech; spells hit harder and more often. The bundled affixes use about half.
  • Class skills and weapon skills cost less (×0.75 and ×0.5) because they are used often and next to normal attacks.
  • Channeled spells cost the same total as other spells of their tier, spread over the channel.
  • Use /runelessrpg report to get an overview of all costs and /runelessrpg cost <spell> <player> to check a single player.

Clone this wiki locally