# ExtraCommands Proof of concept mod and reference implementation ## Installation 1. Patch Gamecraft with [GCIPA](https://git.exmods.org/modtainers/GCIPA). You should download the latest release and extract it to the Gamecraft folder. To patch, drag `Gamecraft.exe` onto `IPA.exe`. You will need to redo this step whenever Gamecraft is updated. 2. Extract the ExtraCommands zip into Gamecraft's `Plugins\` folder (GCIPA should have created this automatically in the previous step). You should see `0Harmony.dll` and `ExtraCommands.dll` in the `Plugins\` folder. If those files are in another folder in `Plugins\` it will not work. 3. Launch Gamecraft. You can check the log file `%APPDATA%\..\LocalLow\FreeJam\Gamecraft\Player.log` to confirm. You should be able to see a message near the top showing how many plugins have been loaded and their names. ## Development Interested in adding your own commands? Clone this repository and create a C# class file in `extracommands\`. A template command is provided in `ExampleCommandEngine.cs` which you can copy to get started. It's recommended that you create a symbolic link named `ref` in the root directory of this project linked to the folder containing Gamecraft `.dll` files. ### Testing Patch Gamecraft with [GCIPA](#installation). Create a symbolic link named `ref` in the root directory of this project linked to the folder containing Gamecraft `.dll` files (to resolve dependencies). Build the solution and copy `bin\Debug\net45\extracommands.dll` and `bin\Debug\net45\0Harmony.dll` into Gamecraft's `Plugins\` folder. Load a game and try out your command in the command line interface in Gamecraft. ### External Documentation More information about the IPlugin and IEnhancedPlugin interface can be found [on the IPA repository](https://github.com/Eusth/IPA). More information about Harmony can be found [on the Harmony wiki](https://github.com/pardeike/Harmony/wiki).