extracommands/README.md

32 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2019-10-22 16:22:10 +00:00
# ExtraCommands
2019-10-22 16:13:22 +00:00
2019-10-22 16:22:10 +00:00
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.
2019-10-26 02:10:48 +00:00
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.
2019-10-22 16:22:10 +00:00
3. Launch Gamecraft.
2019-11-05 21:32:52 +00:00
You can check the log file `%APPDATA%\..\LocalLow\FreeJam\Gamecraft\Player.log` to confirm.
2019-10-22 16:22:10 +00:00
You should be able to see a message near the top showing how many plugins have been loaded and their names.
## Development
2019-11-05 21:32:52 +00:00
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).
2019-10-22 16:22:10 +00:00
Build the solution and copy `bin\Debug\net45\extracommands.dll` and `bin\Debug\net45\0Harmony.dll` into Gamecraft's `Plugins\` folder.
2019-11-05 21:32:52 +00:00
Load a game and try out your command in the command line interface in Gamecraft.
2019-10-22 16:22:10 +00:00
2019-11-05 21:32:52 +00:00
### External Documentation
2019-10-22 16:22:10 +00:00
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).