Ray Plugin Development Reference
================================

## Folder

Plugins must be stored in the `system/plugin/<PLUGIN-NAME>/` directory.

## File

A plugin file must be stored to the `system/plugin/<PLUGIN-NAME>/<PLUGIN-NAME>.ray` file.

## Function

The plugin must define the `plugin_init_<PLUGIN-NAME>()` function.

## Defining a New Tag

Define a function named `Tag_mytag()` in the `system/plugin/<PLUGIN-NAME>/<PLUGIN-NAME>.ray` file to create a new tag named `mytag`.
After loading the plugin via `Suika.loadPlugin()`, you can use `mytag` in NovelML.

## Sample

In `system/plugin/testplugin/testplugin.ray`:
```
func plugin_init_testplugin() {
    // Called when loaded.
    print("Plugin is loaded.");
}

// New tag.
func Tag_testplugintag(params) {
    print("Plugin tag is called.");
    print("parameter: " + params.text);

    Suika.moveToNextTag();
}
```

In `main.ray`:
```
// Called before the game starts.
func start() {
    // Do not delete the following line.
    Suika.start();

    Suika.loadPluin("testplugin");
}
```

In `start.novel`:
```
[testplugintag text="hello"]
```
