Skip to content
/ wawa Public

A set of Keep Talking and Nobody Explodes libraries that helps with mod creation.

License

Notifications You must be signed in to change notification settings

Emik03/wawa

Repository files navigation

wawa

Release License

A collection of libraries to help with the creation of mods in the game Keep Talking and Nobody Explodes.

Named after the respective toki pona word, meaning roughly "strong, powerful; confident, sure; energetic, intense".

This project has a dependency to Emik.Morsels, if you are building this project, refer to its README first.



Quick Start

If you are using Qkrisi's modkit, install it from Keep Talking ModKit > Plugins > wawa.Editors (By Emik) > Install.

Otherwise, you can install it manually by going to Releases, downloading the latest wawa.Editors .dll file, and placing it in ./Assets/Editor/Plugins/Managed/, not ./Assets/Plugins/Managed/.

Whichever method is used, wait for Unity to reload, and a new tab should appear named wawa. Hover over it, and download additional libraries as needed under Update.

Libraries

  • wawa.DDL - Implements the DDL pattern to safely expose game values, such as missions or strikes.
  • wawa.Editors - Editor-only assembly that adds a scaffolder to quickly create new modules, and an updater/downloader.
  • wawa.Extensions - Adds extension methods for KMFramework types to make hooking easier.
  • wawa.IO - Adds methods for KTaNE-related IO operations, such as Mod Settings, loading AssetBundles from the mod directory, or loading external libraries.
  • wawa.Modules - Adds ModdedModule, a base class that implements essential module behavior.
  • wawa.Optionals - Shared Maybe type. These libraries don't return null without wrapping it in this type.
  • wawa.Recall - Allows hooking onto other vanilla/modded modules and/or selectables. Useful for modules that require context of other modules.
  • wawa.Schemas - Adds a fluent builder for TweaksEditorSettings, which is what Tweaks uses to format mod settings.
  • wawa.TwitchPlays - Adds Twitch, a base class that hooks on a ModdedModule to add essential TwitchPlays behavior.
  • wawa.Unity - Adds CachedBehavior, eliminates overhead of Unity API calls without the need for explicit fields.

Contribute

  1. Set up Emik.Morsels.

  2. Download and extract the full source code, or clone the repository:

    git clone https://github.com/Emik03/wawa.git
  3. Open the solution in your favorite IDE, or use the command-line directly to build it.

    dotnet build

Issues and pull requests are welcome to help this repository be the best it can be.

License

This repository falls under the MPL-2 license.