___________________________________________________________________________________________________________________________
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 /> }
About Project
Created: September 7th 2023
Updated: September 7th 2023
Project ID: 34802
License: All Rights Reserved
__________________________________________
Game Versions:
1.01.03
1.01.03
1.01.03
1.01.03
1.01.03
__________________________________________
Flavors:
WoW Retail
__________________________________________
Categories
Companions
Battle
__________________________________________
Main File
September 7th 2023
__________________________________________
Recent File
September 7th 2023
__________________________________________
Members
__________________________________________
Report