<thclass="colFirst"scope="col">Modifier and Type</th>
<thclass="colSecond"scope="col">Method</th>
<thclass="colLast"scope="col">Description</th>
</tr>
<trid="i0"class="altColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#applyEffect(noppes.npcs.api.entity.IPlayer,int,int,byte)">applyEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int duration,
byte level)</code></th>
<tdclass="colLast">
<divclass="block">Applies the effect with the specified ID to the player.</div>
</td>
</tr>
<trid="i1"class="rowColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#applyEffect(noppes.npcs.api.entity.IPlayer,int,int,byte,int)">applyEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int duration,
byte level,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Applies the effect with the specified ID and index to the player.</div>
</td>
</tr>
<trid="i2"class="altColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#applyEffect(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect,int,byte)">applyEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int duration,
byte level)</code></th>
<tdclass="colLast">
<divclass="block">Applies the specified custom effect to the player.</div>
</td>
</tr>
<trid="i3"class="rowColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#applyEffect(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect,int,byte,int)">applyEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int duration,
byte level,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Applies the specified custom effect (with the given index) to the player.</div>
</td>
</tr>
<trid="i4"class="altColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#clearEffects(noppes.npcs.api.entity.IPlayer)">clearEffects</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player)</code></th>
<tdclass="colLast">
<divclass="block">Clears all custom effects from the specified player.</div>
</td>
</tr>
<trid="i5"class="rowColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#clearEffects(noppes.npcs.api.entity.IPlayer,int)">clearEffects</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Clears all custom effects with the specified index from the player.</div>
</td>
</tr>
<trid="i6"class="altColor">
<tdclass="colFirst"><code><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a></code></td>
<divclass="block">Retrieves the custom effect with the specified name and index.</div>
</td>
</tr>
<trid="i11"class="rowColor">
<tdclass="colFirst"><code>int</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#getEffectDuration(noppes.npcs.api.entity.IPlayer,int)">getEffectDuration</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id)</code></th>
<tdclass="colLast">
<divclass="block">Retrieves the remaining duration of the effect with the specified ID for the given player.</div>
</td>
</tr>
<trid="i12"class="altColor">
<tdclass="colFirst"><code>int</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#getEffectDuration(noppes.npcs.api.entity.IPlayer,int,int)">getEffectDuration</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Retrieves the remaining duration of the effect with the specified ID and index for the given player.</div>
</td>
</tr>
<trid="i13"class="rowColor">
<tdclass="colFirst"><code>int</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#getEffectDuration(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect)">getEffectDuration</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect)</code></th>
<tdclass="colLast">
<divclass="block">Retrieves the remaining duration of the given custom effect for the specified player.</div>
</td>
</tr>
<trid="i14"class="altColor">
<tdclass="colFirst"><code>int</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#getEffectDuration(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect,int)">getEffectDuration</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Retrieves the remaining duration of the specified custom effect (with the given index) for the player.</div>
</td>
</tr>
<trid="i15"class="rowColor">
<tdclass="colFirst"><code>boolean</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#hasEffect(noppes.npcs.api.entity.IPlayer,int)">hasEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id)</code></th>
<tdclass="colLast">
<divclass="block">Checks if the specified player currently has an effect with the given ID.</div>
</td>
</tr>
<trid="i16"class="altColor">
<tdclass="colFirst"><code>boolean</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#hasEffect(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect)">hasEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect)</code></th>
<tdclass="colLast">
<divclass="block">Checks if the specified player currently has the given custom effect.</div>
</td>
</tr>
<trid="i17"class="rowColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#removeEffect(noppes.npcs.api.entity.IPlayer,int)">removeEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id)</code></th>
<tdclass="colLast">
<divclass="block">Removes the effect with the specified ID from the player.</div>
</td>
</tr>
<trid="i18"class="altColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#removeEffect(noppes.npcs.api.entity.IPlayer,int,int)">removeEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Removes the effect with the specified ID and index from the player.</div>
</td>
</tr>
<trid="i19"class="rowColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#removeEffect(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect)">removeEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect)</code></th>
<tdclass="colLast">
<divclass="block">Removes the specified custom effect from the player.</div>
</td>
</tr>
<trid="i20"class="altColor">
<tdclass="colFirst"><code>void</code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#removeEffect(noppes.npcs.api.entity.IPlayer,noppes.npcs.api.handler.data.ICustomEffect,int)">removeEffect</a></span>​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int index)</code></th>
<tdclass="colLast">
<divclass="block">Removes the specified custom effect (with the given index) from the player.</div>
</td>
</tr>
<trid="i21"class="rowColor">
<tdclass="colFirst"><code><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a></code></td>
<thclass="colSecond"scope="row"><code><spanclass="memberNameLink"><ahref="#saveEffect(noppes.npcs.api.handler.data.ICustomEffect)">saveEffect</a></span>​(<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> customEffect)</code></th>
<tdclass="colLast">
<divclass="block">Persists the given custom effect.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<divclass="details">
<ulclass="blockList">
<liclass="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ulclass="blockList">
<liclass="blockList"><aid="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<aid="createEffect(java.lang.String)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>createEffect</h4>
<preclass="methodSignature"><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> createEffect​(java.lang.String name)</pre>
<divclass="block">Creates a new custom effect with the specified name.
If an effect with the given name already exists, the existing effect is returned.</div>
<dd><code>name</code> - the name of the custom effect to create</dd>
<dt><spanclass="returnLabel">Returns:</span></dt>
<dd>the newly created or existing custom effect</dd>
</dl>
</li>
</ul>
<aid="getEffect(java.lang.String)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>getEffect</h4>
<preclass="methodSignature"><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> getEffect​(java.lang.String name)</pre>
<divclass="block">Retrieves the custom effect with the specified name.</div>
<preclass="methodSignature">boolean hasEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id)</pre>
<divclass="block">Checks if the specified player currently has an effect with the given ID.</div>
<preclass="methodSignature">boolean hasEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect)</pre>
<divclass="block">Checks if the specified player currently has the given custom effect.</div>
<preclass="methodSignature">int getEffectDuration​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id)</pre>
<divclass="block">Retrieves the remaining duration of the effect with the specified ID for the given player.
<p>
Return values:
<ul>
<li>-1 if the player does not have the effect</li>
<li>-100 if the effect has an infinite duration</li>
<preclass="methodSignature">int getEffectDuration​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect)</pre>
<divclass="block">Retrieves the remaining duration of the given custom effect for the specified player.
<p>
Return values:
<ul>
<li>-1 if the player does not have the effect</li>
<li>-100 if the effect has an infinite duration</li>
<preclass="methodSignature">void applyEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int duration,
byte level)</pre>
<divclass="block">Applies the effect with the specified ID to the player.</div>
<preclass="methodSignature">void applyEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int duration,
byte level)</pre>
<divclass="block">Applies the specified custom effect to the player.</div>
<preclass="methodSignature">void removeEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id)</pre>
<divclass="block">Removes the effect with the specified ID from the player.</div>
<preclass="methodSignature">void removeEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect)</pre>
<divclass="block">Removes the specified custom effect from the player.</div>
<preclass="methodSignature">void clearEffects​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player)</pre>
<divclass="block">Clears all custom effects from the specified player.</div>
<preclass="methodSignature">void applyEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int duration,
byte level,
int index)</pre>
<divclass="block">Applies the effect with the specified ID and index to the player.
The index parameter allows for multiple variants of the same effect.
<preclass="methodSignature">void applyEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int duration,
byte level,
int index)</pre>
<divclass="block">Applies the specified custom effect (with the given index) to the player.
<preclass="methodSignature">void removeEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int index)</pre>
<divclass="block">Removes the effect with the specified ID and index from the player.
<preclass="methodSignature">void removeEffect​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int index)</pre>
<divclass="block">Removes the specified custom effect (with the given index) from the player.
<preclass="methodSignature">void clearEffects​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int index)</pre>
<divclass="block">Clears all custom effects with the specified index from the player.
<preclass="methodSignature">int getEffectDuration​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
int id,
int index)</pre>
<divclass="block">Retrieves the remaining duration of the effect with the specified ID and index for the given player.
<p>
Return values:
<ul>
<li>-1 if the player does not have the effect</li>
<li>-100 if the effect has an infinite duration</li>
<preclass="methodSignature">int getEffectDuration​(<ahref="../entity/IPlayer.html"title="interface in noppes.npcs.api.entity">IPlayer</a> player,
<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> effect,
int index)</pre>
<divclass="block">Retrieves the remaining duration of the specified custom effect (with the given index) for the player.
<p>
Return values:
<ul>
<li>-1 if the player does not have the effect</li>
<li>-100 if the effect has an infinite duration</li>
<dd><code>player</code> - the player whose effect duration is queried</dd>
<dd><code>effect</code> - the custom effect to check</dd>
<dd><code>index</code> - the index of the effect variant (INDEX: 0: CNPC+, 1: DBC Addon)</dd>
<dt><spanclass="returnLabel">Returns:</span></dt>
<dd>the remaining effect time in seconds</dd>
</dl>
</li>
</ul>
<aid="getEffect(java.lang.String,int)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>getEffect</h4>
<preclass="methodSignature"><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> getEffect​(java.lang.String name,
int index)</pre>
<divclass="block">Retrieves the custom effect with the specified name and index.
<dd><code>name</code> - the name of the custom effect</dd>
<dd><code>index</code> - the index of the effect variant (INDEX: 0: CNPC+, 1: DBC Addon)</dd>
<dt><spanclass="returnLabel">Returns:</span></dt>
<dd>the custom effect matching the name and index, or null if not found</dd>
</dl>
</li>
</ul>
<aid="getEffect(int,int)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>getEffect</h4>
<preclass="methodSignature"><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> getEffect​(int id,
int index)</pre>
<divclass="block">Retrieves the custom effect with the specified ID and index.
<preclass="methodSignature"><ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> saveEffect​(<ahref="data/ICustomEffect.html"title="interface in noppes.npcs.api.handler.data">ICustomEffect</a> customEffect)</pre>
<divclass="block">Persists the given custom effect.
This method saves the effect and returns the saved instance, potentially with an updated ID or name.</div>