Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

aedenthorn

Uploaded by

aedenthorn

Virus scan

Safe to use

About this mod

In-game map editor that lets you easily make reversible edits to maps by either copying and pasting any tile to another location on the map or using a tile picker menu. Also supports adding new tilesheets to a map.

Permissions and credits
Changelogs
Donations
This is a remake of Map Editor that adds a menu for picking tiles and adding tilesheets as well as fixing some issues with the old mod.


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 reset the current map entirely, hold down the revert modifier (default Left Shift) and pres the revert hotkey.

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


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.


Tile Menu

This mod introduces a fully-functional tile picker that reads all tilesheets for the current location and lets you select individual tiles for individual layers. To open the menu, click on the little green arrow tab on the left side of the screen, or press the menu toggle button (default T) while the mod is active.

To select a tile from a tilesheet, first set the current layer from the layers list, then select a tile from the tilesheet and it will be set for the current layer. You cannot currently add new layers with this mod, but I'll probably add that feature in the future.

To clear a layer's tile, hover of the layer in the list and press the Remove hotkey (default Delete)

You can zoom and drag the tilesheet image using the mouse.

To add a tilesheet to the current map, press the green plus at the top of the menu. The mod will present a list of all unique tilesheets found in the game, including those added by mods. If you remove a mod after using its tilesheet, the added tiles just won't show.


Data Storage

This mod stores map edits in JSON text files, so deleting the mod will completely erase all edits with no repercussions on your save file.

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).


Notes

The mod should work with all farm types, though it may have trouble editing the Farm House or maps modified by certain mods.

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

The tile menu has limited ability to create animated tiles, but I'm not sure that's going to be easy to fully implement. Hold down shift when copying a tile from the tilesheet to add the tile as a part of an animated tile (this is experimental at the moment).

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.

Tile pasting replaces all layers so if you just want to change a single layer, copy the tile from the map first, then change a layer
tile in the tile menu, then paste it back where you copied it from.


Demonstration

Here's a video of the mod in action:




Config

You can customize this mod by editing the config file or using Generic Mod Config Menu.


Technical

Requires SMAPI.

Implements a Generic Mod Config Menu interface to change config settings in-game.

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.