31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
# 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).
|