> For the complete documentation index, see [llms.txt](https://docs.minecraftbot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.minecraftbot.com/skeleton-code.md).

# Quick Start

To get quickly started with plugin making simply follow these instructions:

### Part 1: creating project and setting up dependencies.

* Create a Class Library (.NET Framework)\
  &#x20;<img src="/files/-LpZU7lQirqsGrF4U8Tn" alt="" data-size="original">&#x20;
* Ensure that you have all of the necessary pre-requisites:
  * Open NuGet package manager.\
    &#x20;<img src="/files/-LpZGoUR3R07KKgZ-67P" alt="" data-size="original">&#x20;
  * Install the **OQ.MineBot.PluginBase** package.\
    &#x20;<img src="/files/-LpZHTDnZtsEn0B3NhRP" alt="" data-size="original">&#x20;
* Every plugin is required to have a PluginCore which is used for things like defining attributes like the name of the plugin, version, and description:\
  &#x20;<img src="/files/-LpZQUASCUImuF3NhgWm" alt="" data-size="original">&#x20;
* Then you will need to have an OnLoad method which will be called once the plugin is loaded/reloaded, which is usually when the bot is started. The settings are optional and can be overwritten if you don't want to include any settings:\
  &#x20;<img src="/files/-LpZRecnGbxwALaQ5I-1" alt="" data-size="original">&#x20;
* Finally, you will need an OnStart method which will register all of your task classes and is called as soon as the plugin is started on a bot:\
  &#x20;<img src="/files/-LpZRJLRkmxygPNjQGnq" alt="" data-size="original">&#x20;

### Part 2: creating tasks

* Create a task class, which will allow you to interact with the bot and it's environment.
* Inherit from ITask (and optionally any of the [Listeners](https://github.com/OnlyQubes/OQ.MineBot.PluginBase/tree/master/Base/Plugin/Listeners)):\
  &#x20;<img src="/files/-LpZaoPGKUA3F4LIC4yw" alt="" data-size="original">&#x20;
* Implement Exec, which will tell the bot if any of the Listeners can be called, and add any listener code:\
  &#x20;<img src="/files/-LpZbUC1F-0yLwJSnzRz" alt="" data-size="original">&#x20;

<br>

:tada: **That's it, now you can build the plugin and test it on the bot**:tada: \
For a more in-depth guide check out the [Introduction page](https://docs.minecraftbot.com/).<br>

{% file src="/files/-LpZclX-neFHbqt9fVm6" %}
Download Template Code Here
{% endfile %}
