Load Plugins

Learn to Load Plugins

Inside of the main AthenaConfig.json there is a section for loading plugins.

It currently works in two ways.

  • []

    • An empty array for plugins means it will LOAD ALL PLUGINS

  • ['core-character-creator', 'folder1', 'folder2', 'folder3']

    • An array with exact folder names as strings.

    • This will load ONLY the plugins specified.

All plugins should be placed inside the src/core/plugins folder.

Structure

The folder structure is very specific.

It consists of several folders inside your main folder.

  • server

    • This should all be server-side code

  • client

    • This should all be client-side code

  • shared

    • This should be shared between server, client, and webview

  • webview

    • This is a WebView Page you want to inject

src/core/plugins/core-example
  β”œβ”€β”€β”€client
  β”‚   β”‚   index.ts
  |   β”‚
  β”‚   └───src  
  β”‚       β”‚   file1.ts
  β”‚       β”‚   file2.ts
  β”‚       β”‚   file3.ts
  |
  β”œβ”€β”€β”€server
  β”‚   β”‚   index.ts
  β”‚   β”‚
  β”‚   └───src
  β”‚       β”‚   file1.ts
  β”‚       β”‚   file2.ts
  β”‚       β”‚   file3.ts
  β”‚
  β”œβ”€β”€β”€shared
  β”‚   β”‚   file1.ts
  β”‚   β”‚   file2.ts
  β”‚   β”‚   file3.ts
  β”‚
  └───webview
      β”‚   Example.vue
      β”‚   tsconfig.json
      β”‚
      β”œβ”€β”€β”€components
      β”‚       Component1.vue
      β”‚       Component2.vue
      β”‚       Component3.vue

Enabling & Disabling Plugins

In order to disable a plugin, create a file with one of the following names from the list below inside the root folder of the plugin (src/core/plugins/<your-plugin>):

  • disable.plugin

  • disabled.plugin

  • disable

Last updated