Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

aedenthorn

Uploaded by

aedenthorn

Virus scan

Safe to use

Tags for this mod

About this mod

Lets you create highly-customizable hedge mazes anywhere that refresh every day.

Requirements
Permissions and credits
Changelogs
Donations
Description

This mod lets modders add procedural-generated hedge mazes with many optional customizable features using Content Patcher.

Mazes are completely remade every day.

An example of a mod that uses this framework is Secret Woods Hedge Maze CP.


Features

Mazes can contain various customizable features, as outlined below.


Treasure

If you install Advanced Loot Framework, mazes can spawn random-value treasure chests at random dead-end tiles each day.


Forage

Mazes can spawn the same sort of forage items as are found in the rest of the GameLocation.


Monsters

Mazes can be made to spawn a random number of the following monsters:

  • slimes (random color and difficulty)
  • bats (random color and difficulty)
  • serpents
  • shadow brutes
  • shadow shamans
  • skeletons
  • squid kids
  • dust sprites

Fairies

Mazes can spawn a random number of health and stamina replenishing fairies that disappear when clicked on.


Dwarf

Mazes can spawn a dwarven merchant (you must speak dwarven to access the shop).


Basic Usage

An example of a simple hedge maze content.json without any special features:

{
    "Format": "1.28.4",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "aedenthorn.HedgeMaze/dictionary",
            "LogName": "",
            "Entries": {
                "aedenthorn.FarmMaze": {
                    "gameLocation": "Farm",
                    "corner": {
                        "X": 58,
                        "Y": 19
                    },
                    "mapSize": {
                        "X": 11,
                        "Y": 11
                    },
                    "topEntranceOffsets": [
                        5
                    ],
                }
            }
        }
    ]
}


The entry key can be arbitrary or the name of the GameLocation to add the map to. If it is not the name of a GameLocation, you must specify the gameLocation field, which allows multiple mazes on a single map.

corner refers to to the top left tile to start creating the maze on the map.
mapSize is the tile dimensions. Hedge maze dimensions must be odd; even numbers will be shrunk by 1.


Advanced

Here is a template that shows all the potential fields for your content.json file:

{
    "Format": "1.28.4",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "aedenthorn.HedgeMaze/dictionary",
            "LogName": "",
            "Entries": {
                "aedenthorn.TestHedgeMaze": {
                    "gameLocation": "Woods",
                    "corner": {
                        "X": 0,
                        "Y": 0
                    },
                    "mapSize": {
                        "X": 0,
                        "Y": 0
                    },
                    "topEntranceOffsets": [
                        5
                    ],
                    "leftEntranceOffsets": [
                        5
                    ],
                    "rightEntranceOffsets": [
                        5
                    ],
                    "bottomEntranceOffsets": [
                        5
                    ],
                    "HideMaze": false,
                    "HideBorders": false,
                    "AddTorches": false,
                    "AddDwarf": false,
                    "ItemListChances": {
                        "MeleeWeapon": 100,
                        "Shirt": 100,
                        "Pants": 100,
                        "Hat": 100,
                        "Boots": 100,
                        "BigCraftable": 100,
                        "Ring": 100,
                        "Seed": 100,
                        "Mineral": 100,
                        "Relic": 100,
                        "Cooking": 100,
                        "Fish": 0,
                        "BasicObject": 100
                    },
                    "MinItemValue": 20,
                    "MaxItemValue": -1,
                    "ItemsBaseMaxValue": 100,
                    "Mult": 100,
                    "RarityChance": 0.2,
                    "IncreaseRate": 0.3,
                    "CoinBaseMin": 20,
                    "CoinBaseMax": 100,
                    "MineLevelMin": 10,
                    "MineLevelMax": 100,
                    "MaxItems": 0,
                    "FairiesMin": 0,
                    "FairiesMax": 0,
                    "TreasureMin": 0,
                    "TreasureMax": 0,
                    "ForageMin": 0,
                    "ForageMax": 0,
                    "SlimeMin": 0,
                    "SlimeMax": 0,
                    "SerpentMin": 0,
                    "SerpentMax": 0,
                    "BatMin": 0,
                    "BatMax": 0,
                    "ShadowBruteMin": 0,
                    "ShadowBruteMax": 0,
                    "ShadowShamanMin": 0,
                    "ShadowShamanMax": 0,
                    "SquidMin": 0,
                    "SquidMax": 0,
                    "SkeletonMin": 0,
                    "SkeletonMax": 0,
                    "DustSpriteMin": 0,
                    "DustSpriteMax": 0
                }
            }
        }
    ]
}



Technical

Requires SMAPI, uses Harmony.

Code is 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.