
Fuzzy Time
- 272
- Mods
Replaces the in-game clock with descriptive time period text like "Morning".
- 272
- June 18, 2026
- Mods

Fuzzy Time
- 272
- Mods
Replaces the in-game clock with descriptive time period text like "Morning".
- 272
- June 18, 2026
- Mods
Features
Basic Usage
Manipulate the grid using the following customizable hotkeys while on the farm:
You cannot place or destroy tiles while carrying an object above your head.
By default, pipes cost 100 pieces of money and 2 copper ore to build, and return 50 pieces of money and 1 copper ore when destroyed.
Replacing a pipe with another pipe is considered both destroying the old and building the new.
Pipe costs and returns can be changed in the config.
Colors
Colors can be changed by editing the mod's config.json file. In the file, colors are Blue, Green, Red, Alpha objects, each 0 - 255.
Utility Grid Mods
You can install any of the following mods to make use of your new utility grids:
Let me know if you make a mod to add to this list.
Utility Objects
Any object placed on a farm tile can be a utility object. To make the mod recognize an object as a utility object, use a Content Patcher patch, with the following syntax (for example):
{
<br /> "Format": "1.23.0",
<br /> "Changes": [
<br /> {
<br /> "Action": "EditData",
<br /> "Target": "utility_grid_object_dictionary",
<br /> "Entries": {
<br /> "Water Pump": {
<br /> "water": 10,
<br /> "electric": -2,
<br /> "onlyInWater": true
<br /> },
<br /> "Furnace": {
<br /> "electric": 10,
<br /> "mustBeOn": true,
<br /> "mustBeWorking": true,
<br /> "mustBeFull": true
<br /> },
<br /> "Crystalarium": {
<br /> "electric": -3,
<br /> "mustBeWorking": true,
<br /> "mustBeFull": true
<br /> },
<br /> "Iridium Sprinkler": {
<br /> "water": -6,
<br /> "electric": -2
<br /> }
<br /> }
<br /> }
<br /> ]
<br />}
utility_grid_object_dictionary is the path the mod uses to collect all entries passed by Content Patch mods.
Each entry key in the dictionary should be the name of the object to be recognized (may be different from the object's display name).
Each entry value in the dictionary is an object that can have the following keys:
An alternative means of labeling an object for recognition is to add a key to the Object.modData field "aedenthorn.UtilityGrid/water" and/or "aedenthorn.UtilityGrid/electric", along with any other field you wish to set, and the mod will recognize it and add it to the dictionary.
Mod API
Mods can call this mod's API to do the following:
The current interface is:
public interface IUtilityGridApi
<br /> {
<br /> public void AddPowerFunction(Func<string, int, List, Vector2> function);
<br /> public void AddHideGridAction(EventHandler<KeyValuePair<GameLocation, int>> handler);
<br /> public void AddRefreshAction(EventHandler<KeyValuePair<GameLocation, int>> handler);
<br /> public void AddShowGridAction(EventHandler<KeyValuePair<GameLocation, int>> handler);
<br /> public bool IsObjectPowered(GameLocation location, int x, int y);
<br /> public bool IsObjectWorking(GameLocation location, int x, int y);
<br /> public List<List> LocationElectricObjects(GameLocation location);
<br /> public List<List> LocationElectricPipes(GameLocation location);
<br /> public List<List> LocationWaterObjects(GameLocation location);
<br /> public List<List> LocationWaterPipes(GameLocation location);
<br /> public Vector2 ObjectWaterElectricityVector(GameLocation location, int x, int y);
<br /> public bool SetObjectWater(GameLocation location, int x, int y, int amount);
<br /> public void RefreshElectricGrid(GameLocation location);
<br /> public void RefreshWaterGrid(GameLocation location);
<br /> public bool SetObjectElectricity(GameLocation location, int x, int y, int amount);
<br /> public bool ShowingElectrictyGrid();
<br /> public bool ShowingWaterGrid();
<br /> public List TileGroupElectricityObjects(GameLocation location, int x, int y);
<br /> public Vector2 TileGroupElectricityVector(GameLocation location, int x, int y);
<br /> public List TileGroupWaterObjects(GameLocation location, int x, int y);
<br /> public Vector2 TileGroupWaterVector(GameLocation location, int x, int y);
<br /> public List TileElectricGrid(GameLocation location, int x, int y);
<br /> public List TileWaterGrid(GameLocation location, int x, int y);
<br /> }
Technical
Requires SDV 1.5.5+
Requires SMAPI, uses Harmony.
Compatible with Mod Updater for automatic updates.
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.
Replaces the in-game clock with descriptive time period text like "Morning".
Replaces the in-game clock with descriptive time period text like "Morning".