Skip to content

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.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. WINDOWS ONLY: You are required to extend the maximum path length and run this command:

    git config --global core.longpaths true
  3. Download and extract the full source code, or clone the repository:

    git clone https://github.com/Emik03/wawa.git
  4. 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.