Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emik03/wawa
A set of Keep Talking and Nobody Explodes libraries that helps with mod creation.
https://github.com/emik03/wawa
csharp csharp-framework csharp-libraries csharp-library dll-plugin keep-talking-and-nobody-explodes keeptalking keeptalkingandnobodyexplodes ktane ktane-mods twitchplays unity unity-3d unity-framework unity-libraries unity-library unity-plugin unity3d unity3d-framework unity3d-plugin
Last synced: 2 months ago
JSON representation
A set of Keep Talking and Nobody Explodes libraries that helps with mod creation.
- Host: GitHub
- URL: https://github.com/emik03/wawa
- Owner: Emik03
- License: mpl-2.0
- Created: 2022-11-23T23:47:12.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T22:09:02.000Z (8 months ago)
- Last Synced: 2024-09-27T23:04:47.023Z (3 months ago)
- Topics: csharp, csharp-framework, csharp-libraries, csharp-library, dll-plugin, keep-talking-and-nobody-explodes, keeptalking, keeptalkingandnobodyexplodes, ktane, ktane-mods, twitchplays, unity, unity-3d, unity-framework, unity-libraries, unity-library, unity-plugin, unity3d, unity3d-framework, unity3d-plugin
- Language: C#
- Homepage:
- Size: 938 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wawa
[![Release](https://img.shields.io/github/v/release/Emik03/wawa.svg?color=f8f9f2&logo=GitHub&style=for-the-badge)](https://github.com/Emik03/wawa/releases/latest)
[![License](https://img.shields.io/github/license/Emik03/wawa.svg?color=6272a4&style=for-the-badge)](https://github.com/Emik03/wawa/blob/main/LICENSE)A collection of libraries to help with the creation of mods in the game [Keep Talking and Nobody Explodes](https://keeptalkinggame.com/).
Named after the respective [toki pona](https://tokipona.org/) word, meaning roughly "[strong, powerful; confident, sure; energetic, intense](https://linku.la)".
This project has a dependency to [Emik.Morsels](https://github.com/Emik03/Emik.Morsels), if you are building this project, refer to its [README](https://github.com/Emik03/Emik.Morsels/blob/main/README.md) first.
---
- [Quick Start](#quick-start)
- [Libraries](#libraries)
- [Contribute](#contribute)
- [License](#license)---
## Quick Start
If you are using [Qkrisi's modkit](https://github.com/Qkrisi/ktanemodkit), install it from `Keep Talking ModKit > Plugins > wawa.Editors (By Emik) > Install`.
Otherwise, you can install it manually by going to [Releases](https://github.com/Emik03/wawa/releases), downloading the latest [wawa.Editors](https://github.com/Emik03/wawa/tree/main/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](https://github.com/Emik03/wawa/tree/main/wawa.DDL) - Implements the [DDL pattern](https://github.com/Emik03/.DDL#chapter-23-the-ddl-pattern) to safely expose game values, such as missions or strikes.
- [wawa.Editors](https://github.com/Emik03/wawa/tree/main/wawa.Editors) - Editor-only assembly that adds a scaffolder to quickly create new modules, and an updater/downloader.
- [wawa.Extensions](https://github.com/Emik03/wawa/tree/main/wawa.Extensions) - Adds extension methods for `KMFramework` types to make hooking easier.
- [wawa.IO](https://github.com/Emik03/wawa/tree/main/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](https://github.com/Emik03/wawa/tree/main/wawa.Modules) - Adds `ModdedModule`, a base class that implements essential module behavior.
- [wawa.Optionals](https://github.com/Emik03/wawa/tree/main/wawa.Optionals) - Shared `Maybe` type. These libraries don't return `null` without wrapping it in this type.
- [wawa.Recall](https://github.com/Emik03/wawa/tree/main/wawa.Recall) - Allows hooking onto other vanilla/modded modules and/or selectables. Useful for modules that require context of other modules.
- [wawa.Schemas](https://github.com/Emik03/wawa/tree/main/wawa.Schemas) - Adds a fluent builder for `TweaksEditorSettings`, which is what Tweaks uses to format mod settings.
- [wawa.TwitchPlays](https://github.com/Emik03/wawa/tree/main/wawa.TwitchPlays) - Adds `Twitch`, a base class that hooks on a `ModdedModule` to add essential TwitchPlays behavior.
- [wawa.Unity](https://github.com/Emik03/wawa/tree/main/wawa.Unity) - Adds `CachedBehavior`, eliminates overhead of Unity API calls without the need for explicit fields.## Contribute
1. Set up [Emik.Morsels](https://github.com/Emik03/Emik.Morsels#usage).
2. **WINDOWS ONLY**: You are required to [extend the maximum path length](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry) and run this command:
```shell
git config --global core.longpaths true
```3. Download and extract the full source code, or clone the repository:
```shell
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.
```shell
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](https://www.mozilla.org/en-US/MPL/2.0/).