About this mod
Lets you create highly-customizable hedge mazes anywhere that refresh every day.
- Requirements
- Permissions and credits
- Changelogs
- Donations
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.