Files
2025-10-28 02:05:17 -04:00

408 lines
20 KiB
HTML

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.27) on Tue Oct 28 02:00:43 EDT 2025 -->
<title>IConditionalAction</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2025-10-28">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/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="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="IConditionalAction";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">noppes.npcs.api.handler.data.actions</a></div>
<h2 title="Interface IConditionalAction" class="title">Interface IConditionalAction</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">IConditionalAction</span>
extends <a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCheckCount()">getCheckCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Note: Only for Conditional Actions</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxChecks()">getMaxChecks</a></span>()</code></th>
<td class="colLast">
<div class="block">Note: Only for Conditional Actions</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTerminated()">isTerminated</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onTermination(java.util.function.Consumer)">onTermination</a></span>&#8203;(java.util.function.Consumer&lt;<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a>&gt;&nbsp;onTermination)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCondition(java.util.function.Function)">setCondition</a></span>&#8203;(java.util.function.Function&lt;<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a>,&#8203;java.lang.Boolean&gt;&nbsp;condition)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxChecks(int)">setMaxChecks</a></span>&#8203;(int&nbsp;maxChecks)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#terminateWhen(java.util.function.Function)">terminateWhen</a></span>&#8203;(java.util.function.Function&lt;<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a>,&#8203;java.lang.Boolean&gt;&nbsp;terminateWhen)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wasTaskExecuted()">wasTaskExecuted</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.noppes.npcs.api.handler.data.IAction">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;noppes.npcs.api.handler.data.<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a></h3>
<code><a href="../IAction.html#after(int,java.util.function.Consumer)">after</a>, <a href="../IAction.html#after(java.lang.String,int,int,java.util.function.Consumer)">after</a>, <a href="../IAction.html#after(java.lang.String,int,java.util.function.Consumer)">after</a>, <a href="../IAction.html#after(java.lang.String,java.util.function.Consumer)">after</a>, <a href="../IAction.html#after(java.util.function.Consumer)">after</a>, <a href="../IAction.html#after(java.util.function.Consumer...)">after</a>, <a href="../IAction.html#after(noppes.npcs.api.handler.data.IAction)">after</a>, <a href="../IAction.html#after(noppes.npcs.api.handler.data.IAction...)">after</a>, <a href="../IAction.html#before(int,java.util.function.Consumer)">before</a>, <a href="../IAction.html#before(java.lang.String,int,int,java.util.function.Consumer)">before</a>, <a href="../IAction.html#before(java.lang.String,int,java.util.function.Consumer)">before</a>, <a href="../IAction.html#before(java.lang.String,java.util.function.Consumer)">before</a>, <a href="../IAction.html#before(java.util.function.Consumer)">before</a>, <a href="../IAction.html#before(noppes.npcs.api.handler.data.IAction)">before</a>, <a href="../IAction.html#conditional(java.lang.String,java.util.function.Function,java.util.function.Consumer)">conditional</a>, <a href="../IAction.html#conditional(java.lang.String,java.util.function.Function,java.util.function.Consumer,java.util.function.Function)">conditional</a>, <a href="../IAction.html#conditional(java.lang.String,java.util.function.Function,java.util.function.Consumer,java.util.function.Function,java.util.function.Consumer)">conditional</a>, <a href="../IAction.html#conditional(java.util.function.Function,java.util.function.Consumer)">conditional</a>, <a href="../IAction.html#conditional(java.util.function.Function,java.util.function.Consumer,java.util.function.Function)">conditional</a>, <a href="../IAction.html#conditional(java.util.function.Function,java.util.function.Consumer,java.util.function.Function,java.util.function.Consumer)">conditional</a>, <a href="../IAction.html#conditional(noppes.npcs.api.handler.data.actions.IConditionalAction)">conditional</a>, <a href="../IAction.html#conditional(noppes.npcs.api.handler.data.actions.IConditionalAction...)">conditional</a>, <a href="../IAction.html#copyDataTo(noppes.npcs.api.handler.data.IAction)">copyDataTo</a>, <a href="../IAction.html#everySecond()">everySecond</a>, <a href="../IAction.html#everyTick()">everyTick</a>, <a href="../IAction.html#getCount()">getCount</a>, <a href="../IAction.html#getData(java.lang.String)">getData</a>, <a href="../IAction.html#getDuration()">getDuration</a>, <a href="../IAction.html#getIdentifier()">getIdentifier</a>, <a href="../IAction.html#getManager()">getManager</a>, <a href="../IAction.html#getMaxCount()">getMaxCount</a>, <a href="../IAction.html#getMaxDuration()">getMaxDuration</a>, <a href="../IAction.html#getName()">getName</a>, <a href="../IAction.html#getNext()">getNext</a>, <a href="../IAction.html#getPrevious()">getPrevious</a>, <a href="../IAction.html#getQueue()">getQueue</a>, <a href="../IAction.html#getStartAfterTicks()">getStartAfterTicks</a>, <a href="../IAction.html#getUpdateEvery()">getUpdateEvery</a>, <a href="../IAction.html#hasData(java.lang.String)">hasData</a>, <a href="../IAction.html#isDone()">isDone</a>, <a href="../IAction.html#isPaused()">isPaused</a>, <a href="../IAction.html#isScheduled()">isScheduled</a>, <a href="../IAction.html#kill()">kill</a>, <a href="../IAction.html#markDone()">markDone</a>, <a href="../IAction.html#once()">once</a>, <a href="../IAction.html#onDone(java.util.function.Consumer)">onDone</a>, <a href="../IAction.html#onStart(java.util.function.Consumer)">onStart</a>, <a href="../IAction.html#parallel(int,java.util.function.Consumer)">parallel</a>, <a href="../IAction.html#parallel(java.lang.String,int,int,java.util.function.Consumer)">parallel</a>, <a href="../IAction.html#parallel(java.lang.String,int,java.util.function.Consumer)">parallel</a>, <a href="../IAction.html#parallel(java.lang.String,java.util.function.Consumer)">parallel</a>, <a href="../IAction.html#parallel(java.util.function.Consumer)">parallel</a>, <a href="../IAction.html#parallel(java.util.function.Consumer...)">parallel</a>, <a href="../IAction.html#parallel(noppes.npcs.api.handler.data.IAction)">parallel</a>, <a href="../IAction.html#parallel(noppes.npcs.api.handler.data.IAction...)">parallel</a>, <a href="../IAction.html#pause()">pause</a>, <a href="../IAction.html#pauseFor(int)">pauseFor</a>, <a href="../IAction.html#pauseFor(long)">pauseFor</a>, <a href="../IAction.html#pauseUntil(java.util.function.Function)">pauseUntil</a>, <a href="../IAction.html#printData()">printData</a>, <a href="../IAction.html#removeData(java.lang.String)">removeData</a>, <a href="../IAction.html#resume()">resume</a>, <a href="../IAction.html#setData(java.lang.String,java.lang.Object)">setData</a>, <a href="../IAction.html#setMaxDuration(int)">setMaxDuration</a>, <a href="../IAction.html#setQueue(noppes.npcs.api.handler.data.IActionQueue)">setQueue</a>, <a href="../IAction.html#setTask(java.util.function.Consumer)">setTask</a>, <a href="../IAction.html#start()">start</a>, <a href="../IAction.html#threadify()">threadify</a>, <a href="../IAction.html#times(int)">times</a>, <a href="../IAction.html#updateEvery(int)">updateEvery</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setCondition(java.util.function.Function)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCondition</h4>
<pre class="methodSignature"><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a>&nbsp;setCondition&#8203;(java.util.function.Function&lt;<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a>,&#8203;java.lang.Boolean&gt;&nbsp;condition)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>condition</code> - checked every tick, if it returns true, task is fired</dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a id="terminateWhen(java.util.function.Function)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>terminateWhen</h4>
<pre class="methodSignature"><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a>&nbsp;terminateWhen&#8203;(java.util.function.Function&lt;<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a>,&#8203;java.lang.Boolean&gt;&nbsp;terminateWhen)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>terminateWhen</code> - checked every tick, if it returns true, action is terminated (gets marked done)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this action</dd>
</dl>
</li>
</ul>
<a id="onTermination(java.util.function.Consumer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onTermination</h4>
<pre class="methodSignature"><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a>&nbsp;onTermination&#8203;(java.util.function.Consumer&lt;<a href="../IAction.html" title="interface in noppes.npcs.api.handler.data">IAction</a>&gt;&nbsp;onTermination)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>onTermination</code> - code to run when the termination condition returns true</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this action</dd>
</dl>
</li>
</ul>
<a id="wasTaskExecuted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wasTaskExecuted</h4>
<pre class="methodSignature">boolean&nbsp;wasTaskExecuted()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if condition was satisfied and task ran (i.e can be called in termination task to see if original task was executed
then do code based on that, if not return early)</dd>
</dl>
</li>
</ul>
<a id="getCheckCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCheckCount</h4>
<pre class="methodSignature">int&nbsp;getCheckCount()</pre>
<div class="block">Note: Only for Conditional Actions</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>how many times this conditional action has tested its condition</dd>
</dl>
</li>
</ul>
<a id="getMaxChecks()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxChecks</h4>
<pre class="methodSignature">int&nbsp;getMaxChecks()</pre>
<div class="block">Note: Only for Conditional Actions</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum number of checks before auto-expiring, or -1 if unlimited</dd>
</dl>
</li>
</ul>
<a id="isTerminated()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTerminated</h4>
<pre class="methodSignature">boolean&nbsp;isTerminated()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if condition provided by {<a href="#terminateWhen(java.util.function.Function)"><code>terminateWhen(Function)</code></a>} is satisfied
Can be called directly in the IAction's task.
Can only be true once, as action is marked done immediately after.</dd>
</dl>
</li>
</ul>
<a id="setMaxChecks(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setMaxChecks</h4>
<pre class="methodSignature"><a href="IConditionalAction.html" title="interface in noppes.npcs.api.handler.data.actions">IConditionalAction</a>&nbsp;setMaxChecks&#8203;(int&nbsp;maxChecks)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxChecks</code> - maximum times to test condition before auto-cancelling</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this action</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>