The class implementing this interface should be annotated with <ahref="annotation/PluginInfo.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>PluginInfo</code></a>.
<ahref="annotation/BooleanProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>BooleanProvider</code></a> for <code>boolean</code> values and conditions for <ahref="annotation/Conditional.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>Conditional</code></a>.
<ahref="annotation/NumberProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>NumberProvider</code></a> for <code>long</code> values. (Use this for integers by casting to long) Has option for formatting.
<ahref="annotation/DoubleProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>DoubleProvider</code></a> for <code>double</code> values.
<ahref="annotation/PercentageProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>PercentageProvider</code></a> for <code>double</code> values that represent a percentage.
<ahref="annotation/StringProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>StringProvider</code></a> for <code>String</code> values.
<ahref="annotation/TableProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>TableProvider</code></a> for <ahref="table/Table.html"title="class in com.djrapitops.plan.extension.table"><code>Table</code></a>s.
<ahref="annotation/GroupProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>GroupProvider</code></a> for Player specific group names, such as permission groups.
<ahref="annotation/DataBuilderProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>DataBuilderProvider</code></a> for <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>s.
<ahref="Group.html"title="interface in com.djrapitops.plan.extension"><code>group</code></a> - Provided group the data is about (In case a group needs additional information)
If you need to change a method name add a class annotation with the old method name: <ahref="annotation/InvalidateMethod.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>InvalidateMethod</code></a>
<ahref="annotation/Conditional.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>Conditional</code></a> A <code>boolean</code> returned by <ahref="annotation/BooleanProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>BooleanProvider</code></a> has to be <code>true</code> for this method to be called.
<ahref="annotation/Tab.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>Tab</code></a> The value of this provider should be placed on a tab with a specific name
<ahref="annotation/TabInfo.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>TabInfo</code></a> Optional Structure information about a tab
<ahref="annotation/TabOrder.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>TabOrder</code></a> Optional information about preferred tab
Method calls are asynchronous. You can control when the calls are made via <ahref="#callExtensionMethodsOn()"><code>callExtensionMethodsOn()</code></a> and <ahref="Caller.html"title="interface in com.djrapitops.plan.extension"><code>Caller</code></a>.
You can check against implementation violations by using <ahref="extractor/ExtensionExtractor.html#validateAnnotations()"><code>ExtensionExtractor.validateAnnotations()</code></a> in your Unit Tests.
- <ahref="annotation/BooleanProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>BooleanProvider</code></a> is annotated with a <ahref="annotation/Conditional.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>Conditional</code></a> that requires same condition the provider provides.
- <ahref="annotation/Conditional.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>Conditional</code></a> without a <ahref="annotation/BooleanProvider.html"title="annotation in com.djrapitops.plan.extension.annotation"><code>BooleanProvider</code></a> that provides value for the condition
<divclass="block">Get the name of the plugin from PluginInfo annotation.</div>
</td>
</tr>
<trid="i2"class="altColor">
<tdclass="colFirst"><code>default <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder">ExtensionDataBuilder</a></code></td>
<divclass="block">Obtain a new <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>.</div>
</td>
</tr>
<trid="i3"class="rowColor">
<tdclass="colFirst"><code>default <ahref="builder/ValueBuilder.html"title="interface in com.djrapitops.plan.extension.builder">ValueBuilder</a></code></td>
<divclass="block">Obtain a new <ahref="builder/ValueBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ValueBuilder</code></a> to use with <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>.</div>
<preclass="methodSignature">default <ahref="CallEvents.html"title="enum in com.djrapitops.plan.extension">CallEvents</a>[] callExtensionMethodsOn()</pre>
<preclass="methodSignature">default <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder">ExtensionDataBuilder</a> newExtensionDataBuilder()</pre>
<divclass="block">Obtain a new <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>.
<preclass="methodSignature">default <ahref="builder/ValueBuilder.html"title="interface in com.djrapitops.plan.extension.builder">ValueBuilder</a> valueBuilder​(java.lang.String text)</pre>
<divclass="block">Obtain a new <ahref="builder/ValueBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ValueBuilder</code></a> to use with <ahref="builder/ExtensionDataBuilder.html"title="interface in com.djrapitops.plan.extension.builder"><code>ExtensionDataBuilder</code></a>.