-
Notifications
You must be signed in to change notification settings - Fork 6
Plugin Development Reference
Awe Morris edited this page Apr 17, 2026
·
4 revisions
Plugins must be stored in the system/plugin/<PLUGIN-NAME>/ directory.
A plugin file must be stored to the system/plugin/<PLUGIN-NAME>/<PLUGIN-NAME>.ray file.
The plugin must define the plugin_init_<PLUGIN-NAME>() function.
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.
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"]