Lunastellia / Reactor-Essentials

A library with essential tools to make plugins user-friendly to configure and use and to speed up development.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fork Essentials project for ChallengerMod

  • This version of essential has changes for ChallengerMod.

-Essentials by DorCoMaNdO/Reactor-Essentials : https://github.com/DorCoMaNdO/Reactor-Essentials

Essentials

Essentials is a modding library for Among Us with APIs to speed up and ease development, with the goal of improving mod compatibility.

Currently, the key features of Essentials are custom options and gameplay buttons, with more planned in the future to improve mod compatibility.

Installation

NOTE: At the moment, official builds are only compiled for the Steam client.

  1. Install BepInEx.
  2. Install Reactor (CI 38 or newer for Essentials 0.1.1+, CI 45 for Among Us version 2021.3.5s, CI 47 or newer for Among Us version 2021.3.31.3s).
  3. Grab the latest release for your client version (support for older clients may be dropped, in that case browse previous releases).
  4. Place the downloaded release in Among Us/BepInEx/plugins/ (same steps as installing Reactor).

Development

To develop plugins with Essentials, Essentials needs to be installed, follow the steps above before proceeding. Please configure notifications for future releases (Watch -> Custom -> Releases) to keep your projects up to date with bug fixes and new features. This guide assumes Reactor.OxygenFilter.MSBuild is being used.

  1. Open your project file (.csproj).
  2. Add or locate an ItemGroup tag.
  3. Add the following line: <Deobfuscate Include="$(AmongUs)\BepInEx\plugins\Essentials-$(GameVersion).dll" />
  4. If using Visual Studio, building your project once with dotnet build may be required due to a Mono.Cecil issue present in Reactor.OxygenFilter.MSBuild.
  5. While a guide or demo is not currently available, most types and methods contain documentation, the current key features are under the Essentials.Options and Essentials.UI namespaces.

Building Essentials

Newer versions of Essentials use configurations based on Among Us target version(s) and override the AmongUs environment variable as a result. Essentials depends on Reactor, follow installation steps 1 and 2 before proceeding.

Building for a single Among Us version

  1. Set up the AmongUs environment variable
  2. Select and build the project configuration targeting your target version, dotnet build -c CONFIGURATION (where CONFIGURATION is the configuration name, ex: S20210412), may be required due to a Mono.Cecil issue present in Reactor.OxygenFilter.MSBuild.
  3. The compiled binary will be copied to the plugins folder of your targeted Among Us version, as well as a bin folder in the solution's folder.

Building for multiple Among Us versions

  1. Add an environment variable named AmongUsMods targeting the parent folder that contains different Among Us versions in sub-folders, for example: %AmongUsMods%\2021.4.12s should lead to the 2021.4.12s sub-folder.
  2. Edit the build all.bat script (in the root folder of the solution) so that it would only contain the Among Us versions you're targeting.
  3. Run build all.bat (alternatively, in Visual Studio you can use Build -> Batch Build... from the toolbar and select all the target versions and then Build, running build all.bat may still be required when Reactor is updated).
  4. The compiled binary will be copied to the plugins folder of your targeted Among Us versions, as well as a bin folder in the solution's folder.

About

A library with essential tools to make plugins user-friendly to configure and use and to speed up development.

License:GNU Lesser General Public License v3.0


Languages

Language:C# 99.9%Language:Batchfile 0.1%