-
Notifications
You must be signed in to change notification settings - Fork 1
mod create & update
Setting up a Wayward mod is relatively straightforward. This was the case before, but moreso as of 2.8 when the mod generation and updating commands were added. Now, the game will generate all the necessary files for you.
Note: This guide will use wayward.cmd
for Wayward commands. However, the command you actually need to use varies by operating system.
- Windows:
wayward.cmd
- Linux:
wayward
- macOS:
Wayward.app/Contents/MacOS/Electron
Node.js must be installed on your computer.
-
Navigate to your Wayward installation's
mods
folder.- Windows Example:
cd "C:/Program Files (x86)/Steam/steamapps/common/Wayward/mods"
- macOS Example:
cd "/Users/USER/Library/Application Support/Steam/SteamApps/common/Wayward/mods"
- Linux Example:
cd "/home/USER/.local/share/Steam/steamapps/common/Wayward/mods"
- Windows Example:
-
Create or navigate to the subfolder where your mod will be stored.
- For example,
Wayward/mods/MyCoolMod
- For example,
-
Open the folder in VSCode or navigate to it in any terminal application, depending on your OS.
-
Run a command to create or update the mod.
- Windows Example:
..\..\bin\wayward.cmd +mod create . +script
- macOS Example:
../../Wayward.app/Contents/MacOS/Electron +mod create . +script
- Linux Example:
../../wayward +mod create . +script
In this example, we run a command to create a mod with "scripts." Your command might be different, depending on the type of mod you're creating. For more information, see the in-depth guide below.
- Windows Example:
wayward.cmd +mod create <path> <...options>
Generates a mod from scratch, or generates new content templates in an existing mod. The command must be run with at least one content type argument.
-
+script
— Generates a script. This includes a TypeScript mod classsrc/Mod.ts
and atsconfig.json
. -
+language
— Generates a language atlang/english.json
by default. Any additional arguments passed after this (before the next +switch) are used as a replacement path (instead oflang/english.json
). -
+customizations
— Generates customizations atcustomizations.json
. -
+imageOverrides
— Generates image overrides atimageOverrides.json
. -
+stylesheet
— Generates a stylesheet atstyle/mod.css
. Any additional arguments passed after this (before the next +switch) are used as a replacement path (instead ofstyle/mod.css
).
The mod.json
file will be updated automatically with the new additions.
-
+name <text>
— Sets the name of the mod themod.json
andREADME.md
. In-game the mod will be referred to as this name. -
+version <version>
— Sets the mod's version in themod.json
andREADME.md
. You can currently put anything in here, but we recommend following semver in case the value is eventually restricted. -
+description <text>
— Sets the description of the mod in themod.json
. This property cannot be blank. The description will appear in-game as a tooltip when a user hovers over the mod. -
+author <text>
— Sets the author(s) of the mod in themod.json
. This will appear in the same tooltip. -
+classFile <text>
— (2.8.1+) Sets the name of the Typescript mod file, by defaultsrc/Mod.ts
. Example+classFile thing/cool/ModFile
becomessrc/thing/cool/ModFile.ts
. This is reflected in themod.json
. -
+className <text>
— Sets the name of the mod class in the Typescript mod file.
wayward.cmd +mod update <path>
Updates your mod to the currently-installed Wayward version. This is only useful if you have scripts. For more information, see the Script Mods guide.
Next: mod.json
Getting Started
- Introduction
- Prerequisites
+mod create
&+mod update
- mod.json
- Extracting Assets
- Resources & Examples
- Frequently Asked Questions
Mod Content
Script Documentation
- Using Translations
- Registrations
- Event Handlers
- Injection
- Adding Items
- Adding Doodads
- Adding Creatures
- Adding Magical Properties
- Actions & Multiplayer
- Adding Dialogs
- Context Menu/Action Bar Actions
- Inter-mod Registries
(apologies for all the missing guides, we'll get to them at some point)