Map Editor

Map Editor

1.4k Downloads
Basic Usage

This mod provides a simple means of non-destructively editing a map while in-game by selecting an existing tile on the map and copying it to another tile.

To start editing, press the activation hotkey (default F10).

To copy a tile, select a tile with the copy key (default Right Mouse Button, then move to the target tile and press the paste key (default Left Mouse Button).

To revert a change, highlight it and press the revert hotkey (default Delete).

To stop editing, press the activation hotkey again or Esc.

Should work with all farm types and custom maps.


Advanced

Custom Tile Changes

Once you have selected a tile to copy, you can use the scroll wheel or customizable scroll buttons (default Up and Down arrow keys) to pick a tile index from the tile's tile sheet.

The copied tile actually can contain tiles for multiple layers, so scrolling will only change the tile index for a single layer at a time.

To change which layer you are affecting with the scroll wheel, hold down the layer mod key (default Left Shift) while using the scroll wheel.

For maps with multiple tile sheets, you can change the selected tile's tile sheet (for the current selected layer) by holding down the sheet mod key (default Left Alt) while scrolling.

Changing tile index and tile sheet will not work for animated tiles.


JSON Files

There are three types of JSON file the mod will pull edits from:


    Per-save files in a subfolder called data in the mod's folder - edits in this file will only affect the corresponding save.
    Custom global files in a subfolder called custom in the mod's folder - edits in these files will affect all saves.
    A single global file in the mod's folder called map_data.json - edits in this file will affect all saves.

Per-save:

The per-save file overrides both other types of file, and files in the custom folder override the main global file.

Per-save files are created when you first make an edit and all edits are saved to a corresponding save file, unless you turn off UseSaveSpecificEdits in the config.


Custom:

If you want to use custom global files, you must create the custom folder yourself (Mods\MapEdit\custom\).

Custom global files can be named whatever you want - if you are given data files from others, this is where they should go. You can send someone your per-save file this way, for example.

Global:

Edits are stored to the main global file if UseSaveSpecificEdits is off and IncludeGlobalEdits is on. If both are on, edits go to the per-save file, but edits in the main global file are loaded as well.


You can reload map edits from the data files by activating the mod using the hotkey (default F10) and pressing the refresh key (default F5).


Mod Configuration

You can change the hotkeys and action sounds by editing the mod's config.json file, created in the mod's folder after running the game with this mod installed.



Notes

The mod copies and pastes everything except the Paths layer, and includes any tile properties like warps, water, dirt, etc.

Map edits are saved immediately to a JSON file corresponding to the current save game  (or a global file if per-save edits is turned off) and are persistent as long as the mod is enabled.

The mod probably doesn't propagate changes to other players in multiplayer.


Demonstration

Here's a video of me creating a pond with this mod:




Technical

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.