Files
HMCore/org/hmcore/modules/RegistryModule.html
2021-05-11 08:18:02 +00:00

566 lines
22 KiB
HTML

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RegistryModule (HMCore 1.1-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.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.5.1.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RegistryModule (HMCore 1.1-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":10,"i7":6,"i8":6,"i9":10,"i10":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete 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>
<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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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">org.hmcore.modules</a></div>
<h2 title="Class RegistryModule" class="title">Class RegistryModule&lt;T,&#8203;I extends org.hmcore.registration.ObjectInfo&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="Module.html" title="class in org.hmcore.modules">org.hmcore.modules.Module</a></li>
<li>
<ul class="inheritance">
<li>org.hmcore.modules.RegistryModule&lt;T,&#8203;I&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The object that should get registered</dd>
<dd><code>I</code> - Object that contains information about the object. Like the texture.</dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">RegistryModule&lt;T,&#8203;I extends org.hmcore.registration.ObjectInfo&gt;</span>
extends <a href="Module.html" title="class in org.hmcore.modules">Module</a></pre>
<div class="block">Represents a module that manages the objects that should get registered to Hytale.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">RegistryModule</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<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><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addInfoToObject(java.lang.String,java.lang.String,I)">addInfoToObject</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;infoName,
<a href="RegistryModule.html" title="type parameter in RegistryModule">I</a>&nbsp;objectInfo)</code></th>
<td class="colLast">
<div class="block">Adds an option for information to the object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contains(java.lang.String)">contains</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">For checking if the Module has the object already in its list.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forceObjectInfoForObject(java.lang.String,java.lang.String)">forceObjectInfoForObject</a></span>&#8203;(java.lang.String&nbsp;object,
java.lang.String&nbsp;objectInfo)</code></th>
<td class="colLast">
<div class="block">Forces a specific object info to a object so the config the user made is respected.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="RegistryModule.html" title="type parameter in RegistryModule">T</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(java.lang.String)">get</a></span>&#8203;(java.lang.String&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Gets the object for the registered name.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract org.hmcore.registration.config.ObjectInfoData[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObjectInfoArray()">getObjectInfoArray</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract <a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObjects()">getObjects</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hook()">hook</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets called when it is time for the module to hook into Hytale and register their stuff in the hytale apis.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#objectAndInfoExist(java.lang.String,java.lang.String)">objectAndInfoExist</a></span>&#8203;(java.lang.String&nbsp;object,
java.lang.String&nbsp;objectInfo)</code></th>
<td class="colLast">
<div class="block">Forces a specific object info to a object so the config the user made is respected.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#register(java.lang.String,T)">register</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Registers the object to the module.</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="#registerIfNonExistent(java.lang.String,T)">registerIfNonExistent</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Simple utility function that automatically checks if the object already exists.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerObjects()">registerObjects</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets called when the phase of object registration to Hytale has come.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.hmcore.modules.Module">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.hmcore.modules.<a href="Module.html" title="class in org.hmcore.modules">Module</a></h3>
<code><a href="Module.html#disable()">disable</a>, <a href="Module.html#getModuleState()">getModuleState</a>, <a href="Module.html#getName()">getName</a>, <a href="Module.html#initialize()">initialize</a>, <a href="Module.html#setModuleState(org.hmcore.api.ModuleState)">setModuleState</a>, <a href="Module.html#unload()">unload</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RegistryModule</h4>
<pre>public&nbsp;RegistryModule()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="contains(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>contains</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;contains&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">For checking if the Module has the object already in its list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name or registration key of the object to be checked</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when the object is already registered.</dd>
</dl>
</li>
</ul>
<a id="get(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>&nbsp;get&#8203;(java.lang.String&nbsp;name)</pre>
<div class="block">Gets the object for the registered name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name or key for the object that should be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The object under the registered name or null if it doesn't exists.</dd>
</dl>
</li>
</ul>
<a id="register(java.lang.String,java.lang.Object)">
<!-- -->
</a><a id="register(java.lang.String,T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;register&#8203;(java.lang.String&nbsp;name,
<a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>&nbsp;object)</pre>
<div class="block">Registers the object to the module.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name or key for the object to get registered under.</dd>
<dd><code>object</code> - The object that should get registered.</dd>
</dl>
</li>
</ul>
<a id="addInfoToObject(java.lang.String,java.lang.String,org.hmcore.registration.ObjectInfo)">
<!-- -->
</a><a id="addInfoToObject(java.lang.String,java.lang.String,I)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addInfoToObject</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;addInfoToObject&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;infoName,
<a href="RegistryModule.html" title="type parameter in RegistryModule">I</a>&nbsp;objectInfo)</pre>
<div class="block">Adds an option for information to the object.
There can be multiple options for information and the server administrators can choose which to use.
Per default the first registered option is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name or key for the object the information should be added to.</dd>
<dd><code>infoName</code> - The name of the option. The name of the mod as example.</dd>
<dd><code>objectInfo</code> - The info object that supplies the module with the required information.</dd>
</dl>
</li>
</ul>
<a id="registerIfNonExistent(java.lang.String,java.lang.Object)">
<!-- -->
</a><a id="registerIfNonExistent(java.lang.String,T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerIfNonExistent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;registerIfNonExistent&#8203;(java.lang.String&nbsp;name,
<a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>&nbsp;object)</pre>
<div class="block">Simple utility function that automatically checks if the object already exists.
If not, the object is registered. An easy boilerplate code prevention.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - </dd>
<dd><code>object</code> - </dd>
</dl>
</li>
</ul>
<a id="getObjects()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjects</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="RegistryModule.html" title="type parameter in RegistryModule">T</a>[]&nbsp;getObjects()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An Array of all objects currently registered to the module.</dd>
</dl>
</li>
</ul>
<a id="registerObjects()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerObjects</h4>
<pre class="methodSignature">protected abstract&nbsp;boolean&nbsp;registerObjects()</pre>
<div class="block">Gets called when the phase of object registration to Hytale has come.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when every object has been registered successfully.</dd>
</dl>
</li>
</ul>
<a id="getObjectInfoArray()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectInfoArray</h4>
<pre class="methodSignature">public abstract&nbsp;org.hmcore.registration.config.ObjectInfoData[]&nbsp;getObjectInfoArray()</pre>
</li>
</ul>
<a id="forceObjectInfoForObject(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forceObjectInfoForObject</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;forceObjectInfoForObject&#8203;(java.lang.String&nbsp;object,
java.lang.String&nbsp;objectInfo)</pre>
<div class="block">Forces a specific object info to a object so the config the user made is respected.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - The name of the object to force to</dd>
<dd><code>objectInfo</code> - The object info of the object to apply</dd>
</dl>
</li>
</ul>
<a id="objectAndInfoExist(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectAndInfoExist</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;objectAndInfoExist&#8203;(java.lang.String&nbsp;object,
java.lang.String&nbsp;objectInfo)</pre>
<div class="block">Forces a specific object info to a object so the config the user made is respected.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - The name of the object to force to</dd>
<dd><code>objectInfo</code> - The object info of the object to apply</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns if both the object and the object info exist.</dd>
</dl>
</li>
</ul>
<a id="hook()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hook</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;hook()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="Module.html#hook()">Module</a></code></span></div>
<div class="block">Gets called when it is time for the module to hook into Hytale and register their stuff in the hytale apis.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Module.html#hook()">hook</a></code>&nbsp;in class&nbsp;<code><a href="Module.html" title="class in org.hmcore.modules">Module</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true when hooking finished without a problem. false when there is a critical problem which won't allow the module to function properly.
When false is returned the server is safely shut down.</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>
<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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>