Scissors-Website/public/javadoc/1.17.1/org/bukkit/plugin/PluginDescriptionFile.html
2022-07-05 18:33:56 -05:00

1225 lines
94 KiB
HTML

<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>PluginDescriptionFile (Scissors-API 1.17.1-R0.1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.bukkit.plugin, class: PluginDescriptionFile">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.bukkit.plugin</a></div>
<h1 title="Class PluginDescriptionFile" class="title">Class PluginDescriptionFile</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.bukkit.plugin.PluginDescriptionFile</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">PluginDescriptionFile</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">This type is the runtime-container for the information in the plugin.yml.
All plugins must have a respective plugin.yml. For plugins written in java
using the standard plugin loader, this file must be in the root of the jar
file.
<p>
When Bukkit loads a plugin, it needs to know some basic information about
it. It reads this information from a YAML file, 'plugin.yml'. This file
consists of a set of attributes, each defined on a new line and with no
indentation.
<p>
Every (almost* every) method corresponds with a specific entry in the
plugin.yml. These are the <b>required</b> entries for every plugin.yml:
<ul>
<li><a href="#getName()"><code>getName()</code></a> - <code>name</code>
<li><a href="#getVersion()"><code>getVersion()</code></a> - <code>version</code>
<li><a href="#getMain()"><code>getMain()</code></a> - <code>main</code>
</ul>
<p>
Failing to include any of these items will throw an exception and cause the
server to ignore your plugin.
<p>
This is a list of the possible yaml keys, with specific details included in
the respective method documentations:
<table border=1>
<caption>The description of the plugin.yml layout</caption>
<tr>
<th>Node</th>
<th>Method</th>
<th>Summary</th>
</tr><tr>
<td><code>name</code></td>
<td><a href="#getName()"><code>getName()</code></a></td>
<td>The unique name of plugin</td>
</tr><tr>
<td><code>provides</code></td>
<td><a href="#getProvides()"><code>getProvides()</code></a></td>
<td>The plugin APIs which this plugin provides</td>
</tr><tr>
<td><code>version</code></td>
<td><a href="#getVersion()"><code>getVersion()</code></a></td>
<td>A plugin revision identifier</td>
</tr><tr>
<td><code>main</code></td>
<td><a href="#getMain()"><code>getMain()</code></a></td>
<td>The plugin's initial class file</td>
</tr><tr>
<td><code>author</code><br><code>authors</code></td>
<td><a href="#getAuthors()"><code>getAuthors()</code></a></td>
<td>The plugin authors</td>
</tr><tr>
<td><code>contributors</code></td>
<td><a href="#getContributors()"><code>getContributors()</code></a></td>
<td>The plugin contributors</td>
</tr><tr>
<td><code>description</code></td>
<td><a href="#getDescription()"><code>getDescription()</code></a></td>
<td>Human readable plugin summary</td>
</tr><tr>
<td><code>website</code></td>
<td><a href="#getWebsite()"><code>getWebsite()</code></a></td>
<td>The URL to the plugin's site</td>
</tr><tr>
<td><code>prefix</code></td>
<td><a href="#getPrefix()"><code>getPrefix()</code></a></td>
<td>The token to prefix plugin log entries</td>
</tr><tr>
<td><code>load</code></td>
<td><a href="#getLoad()"><code>getLoad()</code></a></td>
<td>The phase of server-startup this plugin will load during</td>
</tr><tr>
<td><code>depend</code></td>
<td><a href="#getDepend()"><code>getDepend()</code></a></td>
<td>Other required plugins</td>
</tr><tr>
<td><code>softdepend</code></td>
<td><a href="#getSoftDepend()"><code>getSoftDepend()</code></a></td>
<td>Other plugins that add functionality</td>
</tr><tr>
<td><code>loadbefore</code></td>
<td><a href="#getLoadBefore()"><code>getLoadBefore()</code></a></td>
<td>The inverse softdepend</td>
</tr><tr>
<td><code>commands</code></td>
<td><a href="#getCommands()"><code>getCommands()</code></a></td>
<td>The commands the plugin will register</td>
</tr><tr>
<td><code>permissions</code></td>
<td><a href="#getPermissions()"><code>getPermissions()</code></a></td>
<td>The permissions the plugin will register</td>
</tr><tr>
<td><code>default-permission</code></td>
<td><a href="#getPermissionDefault()"><code>getPermissionDefault()</code></a></td>
<td>The default <a href="../permissions/Permission.html#getDefault()"><code>default</code></a> permission
state for defined <a href="#getPermissions()"><code>permissions</code></a> the plugin
will register</td>
</tr><tr>
<td><code>awareness</code></td>
<td><a href="#getAwareness()"><code>getAwareness()</code></a></td>
<td>The concepts that the plugin acknowledges</td>
</tr><tr>
<td><code>api-version</code></td>
<td><a href="#getAPIVersion()"><code>getAPIVersion()</code></a></td>
<td>The API version which this plugin was programmed against</td>
</tr><tr>
<td><code>libraries</code></td>
<td><a href="#getLibraries()"><code>()</code></a></td>
<td>The libraries to be linked with this plugin</td>
</tr>
</table>
<p>
A plugin.yml example:<blockquote><pre>
name: Inferno
provides: [Hell]
version: 1.4.1
description: This plugin is so 31337. You can set yourself on fire.
# We could place every author in the authors list, but chose not to for illustrative purposes
# Also, having an author distinguishes that person as the project lead, and ensures their
# name is displayed first
author: CaptainInflamo
authors: [Cogito, verrier, EvilSeph]
contributors: [Choco, md_5]
website: http://www.curse.com/server-mods/minecraft/myplugin
main: com.captaininflamo.bukkit.inferno.Inferno
depend: [NewFire, FlameWire]
api-version: 1.13
libraries:
- com.squareup.okhttp3:okhttp:4.9.0
commands:
flagrate:
description: Set yourself on fire.
aliases: [combust_me, combustMe]
permission: inferno.flagrate
usage: Syntax error! Simply type /&lt;command&gt; to ignite yourself.
burningdeaths:
description: List how many times you have died by fire.
aliases: [burning_deaths, burningDeaths]
permission: inferno.burningdeaths
usage: |
/&lt;command&gt; [player]
Example: /&lt;command&gt; - see how many times you have burned to death
Example: /&lt;command&gt; CaptainIce - see how many times CaptainIce has burned to death
permissions:
inferno.*:
description: Gives access to all Inferno commands
children:
inferno.flagrate: true
inferno.burningdeaths: true
inferno.burningdeaths.others: true
inferno.flagrate:
description: Allows you to ignite yourself
default: true
inferno.burningdeaths:
description: Allows you to see how many times you have burned to death
default: true
inferno.burningdeaths.others:
description: Allows you to see how many times others have burned to death
default: op
children:
inferno.burningdeaths: true
</pre></blockquote></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.io.InputStream)" class="member-name-link">PluginDescriptionFile</a><wbr>(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a>&nbsp;stream)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.io.Reader)" class="member-name-link">PluginDescriptionFile</a><wbr>(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Reader.html" title="class or interface in java.io" class="external-link">Reader</a>&nbsp;reader)</code></div>
<div class="col-last odd-row-color">
<div class="block">Loads a PluginDescriptionFile from the specified reader</div>
</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">PluginDescriptionFile</a><wbr>(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;pluginName,
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;pluginVersion,
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;mainClass)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new PluginDescriptionFile with the given detailed</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAPIVersion()" class="member-name-link">getAPIVersion</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the API version which this plugin is designed to support.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAuthors()" class="member-name-link">getAuthors</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the list of authors for the plugin.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="PluginAwareness.html" title="interface in org.bukkit.plugin">PluginAwareness</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAwareness()" class="member-name-link">getAwareness</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives a set of every <a href="PluginAwareness.html" title="interface in org.bukkit.plugin"><code>PluginAwareness</code></a> for a plugin.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getClassLoaderOf()" class="member-name-link">getClassLoaderOf</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">unused</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCommands()" class="member-name-link">getCommands</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the map of command-name to command-properties.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getContributors()" class="member-name-link">getContributors</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the list of contributors for the plugin.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDepend()" class="member-name-link">getDepend</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives a list of other plugins that the plugin requires.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDescription()" class="member-name-link">getDescription</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives a human-friendly description of the functionality the plugin
provides.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFullName()" class="member-name-link">getFullName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the name of a plugin, including the version.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLibraries()" class="member-name-link">getLibraries</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the libraries this plugin requires.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="PluginLoadOrder.html" title="enum class in org.bukkit.plugin">PluginLoadOrder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLoad()" class="member-name-link">getLoad</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the phase of server startup that the plugin should be loaded.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLoadBefore()" class="member-name-link">getLoadBefore</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the list of plugins that should consider this plugin a
soft-dependency.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMain()" class="member-name-link">getMain</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the fully qualified name of the main class for a plugin.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the name of the plugin.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="../permissions/PermissionDefault.html" title="enum class in org.bukkit.permissions">PermissionDefault</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPermissionDefault()" class="member-name-link">getPermissionDefault</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the default <a href="../permissions/Permission.html#getDefault()"><code>default</code></a> state of
<a href="#getPermissions()"><code>permissions</code></a> registered for the plugin.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../permissions/Permission.html" title="class in org.bukkit.permissions">Permission</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPermissions()" class="member-name-link">getPermissions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the list of permissions the plugin will register at runtime,
immediately proceding enabling.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPrefix()" class="member-name-link">getPrefix</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the token to prefix plugin-specific logging messages with.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getProvides()" class="member-name-link">getProvides</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the list of other plugin APIs which this plugin provides.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getRawName()" class="member-name-link">getRawName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Internal use</div>
</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSoftDepend()" class="member-name-link">getSoftDepend</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives a list of other plugins that the plugin requires for full
functionality.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getVersion()" class="member-name-link">getVersion</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the version of the plugin.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getWebsite()" class="member-name-link">getWebsite</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gives the plugin's or plugin's author's website.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#save(java.io.Writer)" class="member-name-link">save</a><wbr>(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Writer.html" title="class or interface in java.io" class="external-link">Writer</a>&nbsp;writer)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves this PluginDescriptionFile to the given writer</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.io.InputStream)">
<h3>PluginDescriptionFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PluginDescriptionFile</span><wbr><span class="parameters">(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a>&nbsp;stream)</span>
throws <span class="exceptions"><a href="InvalidDescriptionException.html" title="class in org.bukkit.plugin">InvalidDescriptionException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="InvalidDescriptionException.html" title="class in org.bukkit.plugin">InvalidDescriptionException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(java.io.Reader)">
<h3>PluginDescriptionFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PluginDescriptionFile</span><wbr><span class="parameters">(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Reader.html" title="class or interface in java.io" class="external-link">Reader</a>&nbsp;reader)</span>
throws <span class="exceptions"><a href="InvalidDescriptionException.html" title="class in org.bukkit.plugin">InvalidDescriptionException</a></span></div>
<div class="block">Loads a PluginDescriptionFile from the specified reader</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>reader</code> - The reader</dd>
<dt>Throws:</dt>
<dd><code><a href="InvalidDescriptionException.html" title="class in org.bukkit.plugin">InvalidDescriptionException</a></code> - If the PluginDescriptionFile is
invalid</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String)">
<h3>PluginDescriptionFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PluginDescriptionFile</span><wbr><span class="parameters">(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;pluginName,
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;pluginVersion,
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;mainClass)</span></div>
<div class="block">Creates a new PluginDescriptionFile with the given detailed</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>pluginName</code> - Name of this plugin</dd>
<dd><code>pluginVersion</code> - Version of this plugin</dd>
<dd><code>mainClass</code> - Full location of the main class of this plugin</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Gives the name of the plugin. This name is a unique identifier for
plugins.
<ul>
<li>Must consist of all alphanumeric characters, underscores, hyphon,
and period (a-z,A-Z,0-9, _.-). Any other character will cause the
plugin.yml to fail loading.
<li>Used to determine the name of the plugin's data folder. Data
folders are placed in the ./plugins/ directory by default, but this
behavior should not be relied on. <a href="Plugin.html#getDataFolder()"><code>Plugin.getDataFolder()</code></a>
should be used to reference the data folder.
<li>It is good practice to name your jar the same as this, for example
'MyPlugin.jar'.
<li>Case sensitive.
<li>The is the token referenced in <a href="#getDepend()"><code>getDepend()</code></a>, <a href="#getSoftDepend()"><code>getSoftDepend()</code></a>, and <a href="#getLoadBefore()"><code>getLoadBefore()</code></a>.
<li>Using spaces in the plugin's name is deprecated.
</ul>
<p>
In the plugin.yml, this entry is named <code>name</code>.
<p>
Example:<blockquote><pre>name: MyPlugin</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the name of the plugin</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getProvides()">
<h3>getProvides</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getProvides</span>()</div>
<div class="block">Gives the list of other plugin APIs which this plugin provides.
These are usable for other plugins to depend on.
<ul>
<li>Must consist of all alphanumeric characters, underscores, hyphon,
and period (a-z,A-Z,0-9, _.-). Any other character will cause the
plugin.yml to fail loading.
<li>A different plugin providing the same one or using it as their name
will not result in the plugin to fail loading.
<li>Case sensitive.
<li>An entry of this list can be referenced in <a href="#getDepend()"><code>getDepend()</code></a>,
<a href="#getSoftDepend()"><code>getSoftDepend()</code></a>, and <a href="#getLoadBefore()"><code>getLoadBefore()</code></a>.
<li><code>provides</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
In the plugin.yml, this entry is named <code>provides</code>.
<p>
Example:
<blockquote><pre>provides:
- OtherPluginName
- OldPluginName</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>immutable list of the plugin APIs which this plugin provides</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getVersion()">
<h3>getVersion</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getVersion</span>()</div>
<div class="block">Gives the version of the plugin.
<ul>
<li>Version is an arbitrary string, however the most common format is
MajorRelease.MinorRelease.Build (eg: 1.4.1).
<li>Typically you will increment this every time you release a new
feature or bug fix.
<li>Displayed when a user types <code>/version PluginName</code>
</ul>
<p>
In the plugin.yml, this entry is named <code>version</code>.
<p>
Example:<blockquote><pre>version: 1.4.1</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the version of the plugin</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMain()">
<h3>getMain</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getMain</span>()</div>
<div class="block">Gives the fully qualified name of the main class for a plugin. The
format should follow the <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/ClassLoader.html#loadClass(java.lang.String)" title="class or interface in java.lang" class="external-link"><code>ClassLoader.loadClass(String)</code></a> syntax
to successfully be resolved at runtime. For most plugins, this is the
class that extends <a href="java/JavaPlugin.html" title="class in org.bukkit.plugin.java"><code>JavaPlugin</code></a>.
<ul>
<li>This must contain the full namespace including the class file
itself.
<li>If your namespace is <code>org.bukkit.plugin</code>, and your class
file is called <code>MyPlugin</code> then this must be
<code>org.bukkit.plugin.MyPlugin</code>
<li>No plugin can use <code>org.bukkit.</code> as a base package for
<b>any class</b>, including the main class.
</ul>
<p>
In the plugin.yml, this entry is named <code>main</code>.
<p>
Example:
<blockquote><pre>main: org.bukkit.plugin.MyPlugin</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the fully qualified main class for the plugin</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDescription()">
<h3>getDescription</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getDescription</span>()</div>
<div class="block">Gives a human-friendly description of the functionality the plugin
provides.
<ul>
<li>The description can have multiple lines.
<li>Displayed when a user types <code>/version PluginName</code>
</ul>
<p>
In the plugin.yml, this entry is named <code>description</code>.
<p>
Example:
<blockquote><pre>description: This plugin is so 31337. You can set yourself on fire.</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>description of this plugin, or null if not specified</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLoad()">
<h3>getLoad</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="PluginLoadOrder.html" title="enum class in org.bukkit.plugin">PluginLoadOrder</a></span>&nbsp;<span class="element-name">getLoad</span>()</div>
<div class="block">Gives the phase of server startup that the plugin should be loaded.
<ul>
<li>Possible values are in <a href="PluginLoadOrder.html" title="enum class in org.bukkit.plugin"><code>PluginLoadOrder</code></a>.
<li>Defaults to <a href="PluginLoadOrder.html#POSTWORLD"><code>PluginLoadOrder.POSTWORLD</code></a>.
<li>Certain caveats apply to each phase.
<li>When different, <a href="#getDepend()"><code>getDepend()</code></a>, <a href="#getSoftDepend()"><code>getSoftDepend()</code></a>, and
<a href="#getLoadBefore()"><code>getLoadBefore()</code></a> become relative in order loaded per-phase.
If a plugin loads at <code>STARTUP</code>, but a dependency loads
at <code>POSTWORLD</code>, the dependency will not be loaded before
the plugin is loaded.
</ul>
<p>
In the plugin.yml, this entry is named <code>load</code>.
<p>
Example:<blockquote><pre>load: STARTUP</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the phase when the plugin should be loaded</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAuthors()">
<h3>getAuthors</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getAuthors</span>()</div>
<div class="block">Gives the list of authors for the plugin.
<ul>
<li>Gives credit to the developer.
<li>Used in some server error messages to provide helpful feedback on
who to contact when an error occurs.
<li>A SpigotMC forum handle or email address is recommended.
<li>Is displayed when a user types <code>/version PluginName</code>
<li><code>authors</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
In the plugin.yml, this has two entries, <code>author</code> and
<code>authors</code>.
<p>
Single author example:
<blockquote><pre>author: CaptainInflamo</pre></blockquote>
Multiple author example:
<blockquote><pre>authors: [Cogito, verrier, EvilSeph]</pre></blockquote>
When both are specified, author will be the first entry in the list, so
this example:
<blockquote><pre>author: Grum
authors:
- feildmaster
- amaranth</pre></blockquote>
Is equivilant to this example:
<pre>authors: [Grum, feildmaster, aramanth]</pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an immutable list of the plugin's authors</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getContributors()">
<h3>getContributors</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getContributors</span>()</div>
<div class="block">Gives the list of contributors for the plugin.
<ul>
<li>Gives credit to those that have contributed to the plugin, though
not enough so to warrant authorship.
<li>Unlike <a href="#getAuthors()"><code>getAuthors()</code></a>, contributors will not be mentioned in
server error messages as a means of contact.
<li>A SpigotMC forum handle or email address is recommended.
<li>Is displayed when a user types <code>/version PluginName</code>
<li><code>contributors</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
Example:
<blockquote><pre>authors: [Choco, md_5]</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an immutable list of the plugin's contributors</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getWebsite()">
<h3>getWebsite</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getWebsite</span>()</div>
<div class="block">Gives the plugin's or plugin's author's website.
<ul>
<li>A link to the Curse page that includes documentation and downloads
is highly recommended.
<li>Displayed when a user types <code>/version PluginName</code>
</ul>
<p>
In the plugin.yml, this entry is named <code>website</code>.
<p>
Example:
<blockquote><pre>website: http://www.curse.com/server-mods/minecraft/myplugin</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>description of this plugin, or null if not specified</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDepend()">
<h3>getDepend</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getDepend</span>()</div>
<div class="block">Gives a list of other plugins that the plugin requires.
<ul>
<li>Use the value in the <a href="#getName()"><code>getName()</code></a> of the target plugin to
specify the dependency.
<li>If any plugin listed here is not found, your plugin will fail to
load at startup.
<li>If multiple plugins list each other in <code>depend</code>,
creating a network with no individual plugin does not list another
plugin in the <a href=https://en.wikipedia.org/wiki/Circular_dependency>network</a>,
all plugins in that network will fail.
<li><code>depend</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
In the plugin.yml, this entry is named <code>depend</code>.
<p>
Example:
<blockquote><pre>depend:
- OnePlugin
- AnotherPlugin</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>immutable list of the plugin's dependencies</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSoftDepend()">
<h3>getSoftDepend</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getSoftDepend</span>()</div>
<div class="block">Gives a list of other plugins that the plugin requires for full
functionality. The <a href="PluginManager.html" title="interface in org.bukkit.plugin"><code>PluginManager</code></a> will make best effort to treat
all entries here as if they were a <a href="#getDepend()"><code>dependency</code></a>, but
will never fail because of one of these entries.
<ul>
<li>Use the value in the <a href="#getName()"><code>getName()</code></a> of the target plugin to
specify the dependency.
<li>When an unresolvable plugin is listed, it will be ignored and does
not affect load order.
<li>When a circular dependency occurs (a network of plugins depending
or soft-dependending each other), it will arbitrarily choose a
plugin that can be resolved when ignoring soft-dependencies.
<li><code>softdepend</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
In the plugin.yml, this entry is named <code>softdepend</code>.
<p>
Example:
<blockquote><pre>softdepend: [OnePlugin, AnotherPlugin]</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>immutable list of the plugin's preferred dependencies</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLoadBefore()">
<h3>getLoadBefore</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getLoadBefore</span>()</div>
<div class="block">Gets the list of plugins that should consider this plugin a
soft-dependency.
<ul>
<li>Use the value in the <a href="#getName()"><code>getName()</code></a> of the target plugin to
specify the dependency.
<li>The plugin should load before any other plugins listed here.
<li>Specifying another plugin here is strictly equivalent to having the
specified plugin's <a href="#getSoftDepend()"><code>getSoftDepend()</code></a> include <a href="#getName()"><code>this plugin</code></a>.
<li><code>loadbefore</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
In the plugin.yml, this entry is named <code>loadbefore</code>.
<p>
Example:
<blockquote><pre>loadbefore:
- OnePlugin
- AnotherPlugin</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>immutable list of plugins that should consider this plugin a
soft-dependency</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPrefix()">
<h3>getPrefix</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getPrefix</span>()</div>
<div class="block">Gives the token to prefix plugin-specific logging messages with.
<ul>
<li>This includes all messages using <a href="Plugin.html#getLogger()"><code>Plugin.getLogger()</code></a>.
<li>If not specified, the server uses the plugin's <a href="#getName()"><code>name</code></a>.
<li>This should clearly indicate what plugin is being logged.
</ul>
<p>
In the plugin.yml, this entry is named <code>prefix</code>.
<p>
Example:<blockquote><pre>prefix: ex-why-zee</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the prefixed logging token, or null if not specified</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCommands()">
<h3>getCommands</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&gt;</span>&nbsp;<span class="element-name">getCommands</span>()</div>
<div class="block">Gives the map of command-name to command-properties. Each entry in this
map corresponds to a single command and the respective values are the
properties of the command. Each property, <i>with the exception of
aliases</i>, can be defined at runtime using methods in <a href="../command/PluginCommand.html" title="class in org.bukkit.command"><code>PluginCommand</code></a> and are defined here only as a convenience.
<table border=1>
<caption>The command section's description</caption>
<tr>
<th>Node</th>
<th>Method</th>
<th>Type</th>
<th>Description</th>
<th>Example</th>
</tr><tr>
<td><code>description</code></td>
<td><a href="../command/Command.html#setDescription(java.lang.String)"><code>Command.setDescription(String)</code></a></td>
<td>String</td>
<td>A user-friendly description for a command. It is useful for
documentation purposes as well as in-game help.</td>
<td><blockquote><pre>description: Set yourself on fire</pre></blockquote></td>
</tr><tr>
<td><code>aliases</code></td>
<td><a href="../command/Command.html#setAliases(java.util.List)"><code>Command.setAliases(List)</code></a></td>
<td>String or <a href="http://en.wikipedia.org/wiki/YAML#Lists">List</a> of
strings</td>
<td>Alternative command names, with special usefulness for commands
that are already registered. <i>Aliases are not effective when
defined at runtime,</i> so the plugin description file is the
only way to have them properly defined.
<p>
Note: Command aliases may not have a colon in them.</td>
<td>Single alias format:
<blockquote><pre>aliases: combust_me</pre></blockquote> or
multiple alias format:
<blockquote><pre>aliases: [combust_me, combustMe]</pre></blockquote></td>
</tr><tr>
<td><code>permission</code></td>
<td><a href="../command/Command.html#setPermission(java.lang.String)"><code>Command.setPermission(String)</code></a></td>
<td>String</td>
<td>The name of the <a href="../permissions/Permission.html" title="class in org.bukkit.permissions"><code>Permission</code></a> required to use the command.
A user without the permission will receive the specified
message (see <a href="../command/Command.html#setPermissionMessage(java.lang.String)">below</a>), or a
standard one if no specific message is defined. Without the
permission node, no <a href="../command/PluginCommand.html#setExecutor(org.bukkit.command.CommandExecutor)"><code>CommandExecutor</code></a> or
<a href="../command/PluginCommand.html#setTabCompleter(org.bukkit.command.TabCompleter)"><code>PluginCommand.setTabCompleter(TabCompleter)</code></a> will be called.</td>
<td><blockquote><pre>permission: inferno.flagrate</pre></blockquote></td>
</tr><tr>
<td><code>permission-message</code></td>
<td><a href="../command/Command.html#setPermissionMessage(java.lang.String)"><code>Command.setPermissionMessage(String)</code></a></td>
<td>String</td>
<td><ul>
<li>Displayed to a player that attempts to use a command, but
does not have the required permission. See <a href="../command/Command.html#getPermission()"><code>above</code></a>.
<li>&lt;permission&gt; is a macro that is replaced with the
permission node required to use the command.
<li>Using empty quotes is a valid way to indicate nothing
should be displayed to a player.
</ul></td>
<td><blockquote><pre>permission-message: You do not have /&lt;permission&gt;</pre></blockquote></td>
</tr><tr>
<td><code>usage</code></td>
<td><a href="../command/Command.html#setUsage(java.lang.String)"><code>Command.setUsage(String)</code></a></td>
<td>String</td>
<td>This message is displayed to a player when the <a href="../command/PluginCommand.html#setExecutor(org.bukkit.command.CommandExecutor)"><code>PluginCommand.setExecutor(CommandExecutor)</code></a> <a href="../command/CommandExecutor.html#onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String%5B%5D)">returns false</a>.
&lt;command&gt; is a macro that is replaced the command issued.</td>
<td><blockquote><pre>usage: Syntax error! Perhaps you meant /&lt;command&gt; PlayerName?</pre></blockquote>
It is worth noting that to use a colon in a yaml, like
<code>`usage: Usage: /god [player]'</code>, you need to
<a href="http://yaml.org/spec/current.html#id2503232">surround
the message with double-quote</a>:
<blockquote><pre>usage: "Usage: /god [player]"</pre></blockquote></td>
</tr>
</table>
The commands are structured as a hiearchy of <a href="http://yaml.org/spec/current.html#id2502325">nested mappings</a>.
The primary (top-level, no intendentation) node is
`<code>commands</code>', while each individual command name is
indented, indicating it maps to some value (in our case, the
properties of the table above).
<p>
Here is an example bringing together the piecemeal examples above, as
well as few more definitions:<blockquote><pre>
commands:
flagrate:
description: Set yourself on fire.
aliases: [combust_me, combustMe]
permission: inferno.flagrate
permission-message: You do not have /&lt;permission&gt;
usage: Syntax error! Perhaps you meant /&lt;command&gt; PlayerName?
burningdeaths:
description: List how many times you have died by fire.
aliases:
- burning_deaths
- burningDeaths
permission: inferno.burningdeaths
usage: |
/&lt;command&gt; [player]
Example: /&lt;command&gt; - see how many times you have burned to death
Example: /&lt;command&gt; CaptainIce - see how many times CaptainIce has burned to death
# The next command has no description, aliases, etc. defined, but is still valid
# Having an empty declaration is useful for defining the description, permission, and messages from a configuration dynamically
apocalypse:
</pre></blockquote>
Note: Command names may not have a colon in their name.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the commands this plugin will register</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPermissions()">
<h3>getPermissions</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../permissions/Permission.html" title="class in org.bukkit.permissions">Permission</a>&gt;</span>&nbsp;<span class="element-name">getPermissions</span>()</div>
<div class="block">Gives the list of permissions the plugin will register at runtime,
immediately proceding enabling. The format for defining permissions is
a map from permission name to properties. To represent a map without
any specific property, empty <a href="http://yaml.org/spec/current.html#id2502702">curly-braces</a> (
<code>&#123;&#125;</code> ) may be used (as a null value is not
accepted, unlike the <a href="#getCommands()"><code>commands</code></a> above).
<p>
A list of optional properties for permissions:
<table border=1>
<caption>The permission section's description</caption>
<tr>
<th>Node</th>
<th>Description</th>
<th>Example</th>
</tr><tr>
<td><code>description</code></td>
<td>Plaintext (user-friendly) description of what the permission
is for.</td>
<td><blockquote><pre>description: Allows you to set yourself on fire</pre></blockquote></td>
</tr><tr>
<td><code>default</code></td>
<td>The default state for the permission, as defined by <a href="../permissions/Permission.html#getDefault()"><code>Permission.getDefault()</code></a>. If not defined, it will be set to
the value of <a href="#getPermissionDefault()"><code>getPermissionDefault()</code></a>.
<p>
For reference:<ul>
<li><code>true</code> - Represents a positive assignment to
<a href="../permissions/Permissible.html" title="interface in org.bukkit.permissions"><code>permissibles</code></a>.
<li><code>false</code> - Represents no assignment to <a href="../permissions/Permissible.html" title="interface in org.bukkit.permissions"><code>permissibles</code></a>.
<li><code>op</code> - Represents a positive assignment to
<a href="../permissions/ServerOperator.html#isOp()"><code>operator permissibles</code></a>.
<li><code>notop</code> - Represents a positive assignment to
<a href="../permissions/ServerOperator.html#isOp()"><code>non-operator permissibiles</code></a>.
</ul></td>
<td><blockquote><pre>default: true</pre></blockquote></td>
</tr><tr>
<td><code>children</code></td>
<td>Allows other permissions to be set as a <a href="../permissions/Permission.html#getChildren()">relation</a> to the parent permission.
When a parent permissions is assigned, child permissions are
respectively assigned as well.
<ul>
<li>When a parent permission is assigned negatively, child
permissions are assigned based on an inversion of their
association.
<li>When a parent permission is assigned positively, child
permissions are assigned based on their association.
</ul>
<p>
Child permissions may be defined in a number of ways:<ul>
<li>Children may be defined as a <a href="http://en.wikipedia.org/wiki/YAML#Lists">list</a> of
names. Using a list will treat all children associated
positively to their parent.
<li>Children may be defined as a map. Each permission name maps
to either a boolean (representing the association), or a
nested permission definition (just as another permission).
Using a nested definition treats the child as a positive
association.
<li>A nested permission definition must be a map of these same
properties. To define a valid nested permission without
defining any specific property, empty curly-braces (
<code>&#123;&#125;</code> ) must be used.
<li>A nested permission may carry it's own nested permissions
as children, as they may also have nested permissions, and
so forth. There is no direct limit to how deep the
permission tree is defined.
</ul></td>
<td>As a list:
<blockquote><pre>children: [inferno.flagrate, inferno.burningdeaths]</pre></blockquote>
Or as a mapping:
<blockquote><pre>children:
inferno.flagrate: true
inferno.burningdeaths: true</pre></blockquote>
An additional example showing basic nested values can be seen
<a href="doc-files/permissions-example_plugin.yml">here</a>.
</td>
</tr>
</table>
The permissions are structured as a hiearchy of <a href="http://yaml.org/spec/current.html#id2502325">nested mappings</a>.
The primary (top-level, no intendentation) node is
`<code>permissions</code>', while each individual permission name is
indented, indicating it maps to some value (in our case, the
properties of the table above).
<p>
Here is an example using some of the properties:<blockquote><pre>
permissions:
inferno.*:
description: Gives access to all Inferno commands
children:
inferno.flagrate: true
inferno.burningdeaths: true
inferno.flagate:
description: Allows you to ignite yourself
default: true
inferno.burningdeaths:
description: Allows you to see how many times you have burned to death
default: true
</pre></blockquote>
Another example, with nested definitions, can be found <a href="doc-files/permissions-example_plugin.yml">here</a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the permissions this plugin will register</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPermissionDefault()">
<h3>getPermissionDefault</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="../permissions/PermissionDefault.html" title="enum class in org.bukkit.permissions">PermissionDefault</a></span>&nbsp;<span class="element-name">getPermissionDefault</span>()</div>
<div class="block">Gives the default <a href="../permissions/Permission.html#getDefault()"><code>default</code></a> state of
<a href="#getPermissions()"><code>permissions</code></a> registered for the plugin.
<ul>
<li>If not specified, it will be <a href="../permissions/PermissionDefault.html#OP"><code>PermissionDefault.OP</code></a>.
<li>It is matched using <a href="../permissions/PermissionDefault.html#getByName(java.lang.String)"><code>PermissionDefault.getByName(String)</code></a>
<li>It only affects permissions that do not define the
<code>default</code> node.
<li>It may be any value in <a href="../permissions/PermissionDefault.html" title="enum class in org.bukkit.permissions"><code>PermissionDefault</code></a>.
</ul>
<p>
In the plugin.yml, this entry is named <code>default-permission</code>.
<p>
Example:<blockquote><pre>default-permission: NOT_OP</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the default value for the plugin's permissions</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAwareness()">
<h3>getAwareness</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="PluginAwareness.html" title="interface in org.bukkit.plugin">PluginAwareness</a>&gt;</span>&nbsp;<span class="element-name">getAwareness</span>()</div>
<div class="block">Gives a set of every <a href="PluginAwareness.html" title="interface in org.bukkit.plugin"><code>PluginAwareness</code></a> for a plugin. An awareness
dictates something that a plugin developer acknowledges when the plugin
is compiled. Some implementions may define extra awarenesses that are
not included in the API. Any unrecognized
awareness (one unsupported or in a future version) will cause a dummy
object to be created instead of failing.
<ul>
<li>Currently only supports the enumerated values in <a href="PluginAwareness.Flags.html" title="enum class in org.bukkit.plugin"><code>PluginAwareness.Flags</code></a>.
<li>Each awareness starts the identifier with bang-at
(<code>!@</code>).
<li>Unrecognized (future / unimplemented) entries are quietly replaced
by a generic object that implements PluginAwareness.
<li>A type of awareness must be defined by the runtime and acknowledged
by the API, effectively discluding any derived type from any
plugin's classpath.
<li><code>awareness</code> must be in <a href="http://en.wikipedia.org/wiki/YAML#Lists">YAML list
format</a>.
</ul>
<p>
In the plugin.yml, this entry is named <code>awareness</code>.
<p>
Example:<blockquote><pre>awareness:
- !@UTF8</pre></blockquote>
<p>
<b>Note:</b> Although unknown versions of some future awareness are
gracefully substituted, previous versions of Bukkit (ones prior to the
first implementation of awareness) will fail to load a plugin that
defines any awareness.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a set containing every awareness for the plugin</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFullName()">
<h3>getFullName</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getFullName</span>()</div>
<div class="block">Returns the name of a plugin, including the version. This method is
provided for convenience; it uses the <a href="#getName()"><code>getName()</code></a> and <a href="#getVersion()"><code>getVersion()</code></a> entries.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a descriptive name of the plugin and respective version</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAPIVersion()">
<h3>getAPIVersion</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getAPIVersion</span>()</div>
<div class="block">Gives the API version which this plugin is designed to support. No
specific format is guaranteed.
<ul>
<li>Refer to release notes for supported API versions.
</ul>
<p>
In the plugin.yml, this entry is named <code>api-version</code>.
<p>
Example:<blockquote><pre>api-version: 1.13</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the version of the plugin</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLibraries()">
<h3>getLibraries</h3>
<div class="member-signature"><span class="annotations"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getLibraries</span>()</div>
<div class="block">Gets the libraries this plugin requires. This is a preview feature.
<ul>
<li>Libraries must be GAV specifiers and are loaded from Maven Central.
</ul>
<p>
Example:<blockquote><pre>libraries:
- com.squareup.okhttp3:okhttp:4.9.0</pre></blockquote></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>required libraries</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getClassLoaderOf()">
<h3>getClassLoaderOf</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/Nullable.html" title="class or interface in org.jetbrains.annotations" class="external-link">@Nullable</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getClassLoaderOf</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">unused</div>
</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>unused</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.io.Writer)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Writer.html" title="class or interface in java.io" class="external-link">Writer</a>&nbsp;writer)</span></div>
<div class="block">Saves this PluginDescriptionFile to the given writer</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>writer</code> - Writer to output this file to</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRawName()">
<h3>getRawName</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
<a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/org/jetbrains/annotations/NotNull.html" title="class or interface in org.jetbrains.annotations" class="external-link">@NotNull</a> <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getRawName</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Internal use</div>
</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>internal use</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>