Files
2026-03-13 21:21:55 +00:00

478 lines
18 KiB
HTML

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>IMagic (CustomNPC-Plus 1.11.1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc-theme.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="IMagic (CustomNPC-Plus 1.11.1 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":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-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div id="javadoc-header"> <a href="/CustomNPC-Plus/" class="header-brand"> <div class="header-title"> CustomNPC+ <span>Javadoc Reference</span> </div> </a> <a href="/CustomNPC-Plus/" class="header-back"> Back to Index </a> </div></div>
</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</a></div>
<h2 title="Interface IMagic" class="title">Interface IMagic</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public interface <span class="typeNameLabel">IMagic</span></pre>
<div class="block">Represents a magic element that can have interactions with other magics.
Each magic has unique properties such as an ID, name, color, and display name,
and can hold interaction values with other magics.</div>
</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="#getColor()">getColor</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the color of this magic.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDisplayName()">getDisplayName</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the display name of the magic.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getId()">getId</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the unique identifier of this magic.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInteraction(int,float)">getInteraction</a></span>&#8203;(int&nbsp;magicID,
float&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Retrieves the interaction value for a specific other magic.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the internal name of the magic.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasInteraction(int)">hasInteraction</a></span>&#8203;(int&nbsp;magicID)</code></th>
<td class="colLast">
<div class="block">Checks if this magic has an interaction value set for another magic.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#save()">save</a></span>()</code></th>
<td class="colLast">
<div class="block">Saves the current state of the magic.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setColor(int)">setColor</a></span>&#8203;(int&nbsp;c)</code></th>
<td class="colLast">
<div class="block">Sets the color for this magic.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDisplayName(java.lang.String)">setDisplayName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;displayName)</code></th>
<td class="colLast">
<div class="block">Sets the display name of the magic.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInteraction(int,float)">setInteraction</a></span>&#8203;(int&nbsp;magicID,
float&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets an interaction value for a specific other magic.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Sets the internal name of the magic.</div>
</td>
</tr>
</table>
</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="getId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre class="methodSignature">int&nbsp;getId()</pre>
<div class="block">Gets the unique identifier of this magic.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the magic ID</dd>
</dl>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getName()</pre>
<div class="block">Gets the internal name of the magic.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the magic</dd>
</dl>
</li>
</ul>
<a id="setName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">void&nbsp;setName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Sets the internal name of the magic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the new name of the magic</dd>
</dl>
</li>
</ul>
<a id="setColor(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setColor</h4>
<pre class="methodSignature">void&nbsp;setColor&#8203;(int&nbsp;c)</pre>
<div class="block">Sets the color for this magic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - the color represented as an integer (typically in hexadecimal)</dd>
</dl>
</li>
</ul>
<a id="getColor()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColor</h4>
<pre class="methodSignature">int&nbsp;getColor()</pre>
<div class="block">Gets the color of this magic.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the color as an integer</dd>
</dl>
</li>
</ul>
<a id="getDisplayName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisplayName</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getDisplayName()</pre>
<div class="block">Gets the display name of the magic.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the display name of the magic</dd>
</dl>
</li>
</ul>
<a id="setDisplayName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDisplayName</h4>
<pre class="methodSignature">void&nbsp;setDisplayName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;displayName)</pre>
<div class="block">Sets the display name of the magic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>displayName</code> - the new display name</dd>
</dl>
</li>
</ul>
<a id="save()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>save</h4>
<pre class="methodSignature">void&nbsp;save()</pre>
<div class="block">Saves the current state of the magic.
Typically persists changes to a controller or storage system.</div>
</li>
</ul>
<a id="hasInteraction(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasInteraction</h4>
<pre class="methodSignature">boolean&nbsp;hasInteraction&#8203;(int&nbsp;magicID)</pre>
<div class="block">Checks if this magic has an interaction value set for another magic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>magicID</code> - the unique identifier of the other magic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if an interaction is present, false otherwise</dd>
</dl>
</li>
</ul>
<a id="setInteraction(int,float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInteraction</h4>
<pre class="methodSignature">void&nbsp;setInteraction&#8203;(int&nbsp;magicID,
float&nbsp;value)</pre>
<div class="block">Sets an interaction value for a specific other magic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>magicID</code> - the unique identifier of the other magic</dd>
<dd><code>value</code> - the interaction value (usually a percentage or multiplier)</dd>
</dl>
</li>
</ul>
<a id="getInteraction(int,float)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getInteraction</h4>
<pre class="methodSignature">float&nbsp;getInteraction&#8203;(int&nbsp;magicID,
float&nbsp;value)</pre>
<div class="block">Retrieves the interaction value for a specific other magic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>magicID</code> - the unique identifier of the other magic</dd>
<dd><code>value</code> - the default value to return if no interaction is found</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the interaction value if present; otherwise, the default value</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-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><script> (function() { // Fix uppercase text in table cells // Javadoc 11: method names are in th[scope="row"] a, not td a function fixCase() { document.querySelectorAll("th[scope='row'] a, td a, .memberNameLink a").forEach(function(el) { var t = el.textContent.trim(); if (t.length > 2 && t === t.toUpperCase() && t.indexOf(" ") === -1) { el.textContent = t.toLowerCase(); } }); } // Correct navPadding = topNav height + subNav height // Uses !important to override jQuery's inline style function fixPadding() { var topNav = document.querySelector(".topNav"); var subNav = document.querySelector(".subNav"); var pad = document.querySelector(".navPadding"); if (!pad) return; var h = (topNav ? topNav.offsetHeight : 0) + (subNav ? subNav.offsetHeight : 0); if (h > 0) { pad.style.setProperty("padding-top", h + "px", "important"); } } document.addEventListener("DOMContentLoaded", function() { fixCase(); // Run fixPadding after jQuery has had its chance setTimeout(fixPadding, 0); setTimeout(fixPadding, 50); setTimeout(fixPadding, 200); // Use MutationObserver to permanently override any further jQuery writes var pad = document.querySelector(".navPadding"); if (pad) { var observer = new MutationObserver(function() { fixPadding(); }); observer.observe(pad, { attributes: true, attributeFilter: ["style"] }); } }); })(); </script></div>
</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>