Type object
File match paper-plugin.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/paper-paper-plugin-yml/latest.json
Source https://www.schemastore.org/paper-plugin.json

Validate with Lintel

npx @lintel/lintel check
Type: object

JSON schema for Paper Plugin YAML

Properties

name string required
pattern=^[A-Za-z0-9_\.-]+$
main string required
pattern=^(?!io\.papermc\.)([a-zA-Z_$][a-zA-Z0-9_$]*\.)*[a-zA-Z_$][a-zA-Z0-9_$]*$
version string required

The version of the plugin

api-version string required

The API version of the plugin

Examples: "1.19", "1.20", "1.20.6"
pattern=^1\.\d{2}(\.\d{1,2})?$
bootstrapper string
pattern=^(?!io\.papermc\.)([a-zA-Z_$][a-zA-Z0-9_$]*\.)*[a-zA-Z_$][a-zA-Z0-9_$]*$
loader string
pattern=^(?!io\.papermc\.)([a-zA-Z_$][a-zA-Z0-9_$]*\.)*[a-zA-Z_$][a-zA-Z0-9_$]*$
provides plugin-name[]

Satisfies dependency requirements as this plugin. When resolving dependencies, if a plugin requires a plugin in this list, this plugin will satisfy it.

uniqueItems=true
has-open-classloader boolean

Whether the plugin should have its classloader public to other paper plugins

description string

The description of the plugin

authors string[]

Main authors of the plugin

contributors string[]

Other contributors to the plugin

website string

Plugin website

prefix string

Log prefix for this plugin. Defaults to the plugin name

load enum

When to load this plugin. Defaults to POSTWORLD.

Values: "STARTUP" "POSTWORLD"
default-perm enum
Values: "true" "false" "op" "not op"
permissions Record<string, object>

Permissions for this plugin

dependencies object

Plugin dependencies.

2 nested properties
bootstrap Record<string, object>
server Record<string, object>

Definitions

plugin-name string
plugin-class string
perm-default enum
permission object

A permission for this plugin

default enum
Values: "true" "false" "op" "not op"
description string
children string[] | object
dependency object

A plugin dependency

load enum

Where to load this dependency in relation to the plugin. Defaults to OMIT

Values: "AFTER" "BEFORE" "OMIT"
join-classpath boolean

Whether this dependency's classpath should be joined by the plugin. Defaults to true

required boolean

Whether this dependency is required for the plugin to load. Defaults to true

dependency-group Record<string, object>