Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

aedenthorn

Uploaded by

aedenthorn

Virus scan

Safe to use

About this mod

Allows you to create custom ore nodes that look like and drop whatever object you want.

Requirements
Permissions and credits
Changelogs
This mod allows you to create custom ore nodes that have a chance to spawn instead of ordinary stones (similar to other ore nodes). By default it includes a new "coal stone" node that drops coal and has examples of a "pizza stone" that drops pizza and a rainbow stone that drops prismatic shards.


Usage

To use this mod, you can simply rename the EXAMPLEcustom_ore_nodes.json file included with this mod to custom_ore_nodes.json and edit it with a text editor. The nodes key has a list of objects that each describe a custom node. For example:

    {
      "parentSheetIndex": 0,
      "dropItems": [
        {
          "itemIdOrName": "382",
          "dropChance": 100.0,
          "minAmount": 1,
          "maxAmount": 4,
          "luckyAmount": 1,
          "minerAmount": 1
        },
        {
          "itemIdOrName": "390",
          "dropChance": 75.0,
          "minAmount": 1,
          "maxAmount": 2,
          "luckyAmount": 1,
          "minerAmount": 1
        }
      ],
      "oreLevelRanges": [
        {
          "minLevel": 1,
          "maxLevel": 120,
          "spawnChanceMult": 1.0,
          "expMult": 1.0,
          "dropChanceMult": 1.0,
          "dropMult": 1.0,
          "minDifficulty": -1,
          "maxDifficulty": -1
        }
      ],
      "nodeDesc": "This stone is rich in coal.",
      "spritePath": "assets\\CoalStone.png",
      "spriteType": "mod",
      "spriteX": 0,
      "spriteY": 0,
      "spriteW": 16,
      "spriteH": 16,
      "spawnChance": 5.0,
      "durability": 4,
      "exp": 12,
      "texture": null
    },


You can also add node objects using Content Patcher, targeting the dictionary at:

aedenthorn.CustomOreNodes/dict

e.g.:

{
    "Format": "1.23.0",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "aedenthorn.CustomOreNodes/dict",
            "Entries": {
"me.myMod/myNode": {
(your node data here)
}
}
]
}



Alternatively, you can create your own Content Pack for this mod (see Files section for a template mod) with its own custom_ore_nodes.json file.

Examples of mods that have done this include:



Node Explanation

  • parentSheetIndex: this is set automatically, just leave this alone
  • dropItems: the list of items to drop (see below)
  • oreLevelRanges: the list of mine level ranges on which this ore node can spawn (see below)
  • nodeDesc: describe your ore node.
  • spritePath: the relative path to your ore node's graphic file
  • spriteType: mod or game, changes where the mod will look for your graphic file
  • spriteX, spriteY: the coordinates in the graphics file where this node's image begins
  • spriteW, spriteH: the width and height of this node (must be 16, 16)
  • spawnChance: the base percent chance that each ordinary ore node will be this type of ore
  • durability: how hard it is to break this node
  • exp: how much exp gained for breaking this node
  • texture: leave this at null


Drop Item List

The drop item list contains JSON objects with information on what items this node should drop as follows:

  • itemIdOrName: Object index or name of item (see Raw data here for object ids and names)
  • dropChance: % Chance to drop this item
  • minAmount, maxAmount: Minimum amount to drop, maximum amount to drop
  • luckyAmount: Additional amount to drop if lucky
  • minerAmount: Additional amount to drop if skilled miner


Level Range List

The level range list contains JSON objects that specify ranges of mine floors this node can spawn on as follows:

  • minLevel,maxLevel: set either to -1 to disable it; 121 is the first Skull Cave level; 0 means outside of the mines (0,0 means only outside of the mines)
  • spawnChanceMult: a multiplier for this range of the base chance of this node spawning
  • expMult: a multiplier for this range of the base exp for mining this node
  • dropMult: a multiplier for this range of the base amount of each item dropping from node
  • dropChanceMult: a multiplier for this range of the base chance of each item dropping from node
  • minDifficulty, maxDifficulty: new to SDV 1.5, mines can get harder. Set either of these to 1 if you only want it to spawn on harder levels. Set to -1 to disable.

The node listed above translates into a 5% chance per stone of spawning a coal stone instead in the mines (levels 1-120).


Other Underground Mods



Technical Notes

If you are trying to drop items from mods that you don't know the id for, just use the object name (but not the display name if it's different).

The SMAPI log now shows better messages to tell you when something's wrong with your syntax. Check it if you are having trouble.

The screenshots were created using Custom Dungeon Floors which allows for spawning more stones, among other things.

Requires SMAPI, uses Harmony.

Source code is available at https://github.com/aedenthorn/StardewValleyMods/.

If you want to complain or ask for help or help me test my mods, you can visit my Discord server.

A list of all my mods for Stardew Valley is available at https://www.nexusmods.com/stardewvalley/articles/895.