Deploy javadoc from ref 1.5.0

This commit is contained in:
nh-org-manager[bot] committed 2026-11-04 17:40:35 +00:00
1 parent e3bf502cc2
commit 0dd1766850
132 files changed
+29402

No files matched your search

+226
View File
@@ -0,0 +1,226 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>All Classes and Interfaces (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li><a href="overview-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="search.html">Search</a></li>
<li><a href="help-doc.html#all-classes">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
</div>
<div id="all-classes-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum Classes</button></div>
<div id="all-classes-table.tabpanel" role="tabpanel" aria-labelledby="all-classes-table-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/alignment/AlignmentUtility.html" title="class in com.gtnewhorizon.structurelib.alignment">AlignmentUtility</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Represent the environment in which autoplace of a single element took place.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
<div class="block">Defines the various API level an <a href="com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure"><code>AutoPlaceEnvironment</code></a> has implemented.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/alignment/constructable/ChannelDataAccessor.html" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ChannelDataAccessor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Provide accessor methods for channel data from trigger item.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/alignment/constructable/ConstructableUtility.html" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ConstructableUtility</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/alignment/enumerable/Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/alignment/enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/adders/IBlockAdder.html" title="interface in com.gtnewhorizon.structurelib.structure.adders">IBlockAdder&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IBlockPosConsumer.html" title="interface in com.gtnewhorizon.structurelib.structure">IBlockPosConsumer</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">Describes a channel used by one structure definition.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Created by Tec on 24.03.2017.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructableProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructableProvider</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">Implement this interface if this tile entity MIGHT be constructable</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/ICustomBlockSetting.html" title="interface in com.gtnewhorizon.structurelib.structure">ICustomBlockSetting</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">Represent an item source.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">To implement IConstructable on not own TileEntities</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/alignment/IntegerAxisSwap.html" title="class in com.gtnewhorizon.structurelib.alignment">IntegerAxisSwap</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/InventoryIterable.html" title="class in com.gtnewhorizon.structurelib.util">InventoryIterable&lt;Inv&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This class is part of API, but is not stable.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.InventoryProvider.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider&lt;R&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackCounter.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.OptimizedExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/ISpecialItemBlock.html" title="interface in com.gtnewhorizon.structurelib.structure">ISpecialItemBlock</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">This is the structure definition of your multi.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">Use StructureUtility to instantiate.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/structure/IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/structure/IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureElementChain.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementChain&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Use StructureUtility to instantiate</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureElementCheckOnly.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementCheckOnly&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureElementDeferred.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementDeferred&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Use StructureUtility to instantiate</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">A functional interface that is used to iterate over an arbitrary structure.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">An extension to <a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>IConstructable</code></a>.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/util/ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/ITierConverter.html" title="interface in com.gtnewhorizon.structurelib.structure">ITierConverter&lt;TIER&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">a function to extract tier info from a block.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/adders/ITileAdder.html" title="interface in com.gtnewhorizon.structurelib.structure.adders">ITileAdder&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/IWithExtendedContext.html" title="interface in com.gtnewhorizon.structurelib.structure">IWithExtendedContext&lt;CTX&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">Implement this and use <a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#withContext(com.gtnewhorizon.structurelib.structure.IStructureElement)"><code>StructureUtility.withContext(IStructureElement)</code></a> in case you need to record some
temporary states that don't need to live in your main context, which would usually live for the whole lifetime of the
structure than just during structure check.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/MiscUtils.html" title="class in com.gtnewhorizon.structurelib.util">MiscUtils</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">not related to a certain mod!</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="com/gtnewhorizon/structurelib/alignment/enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/SortedRegistry.html" title="class in com.gtnewhorizon.structurelib.util">SortedRegistry&lt;V&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/structure/StructureDefinition.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/structure/StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/StructureEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Subscribers are <b>required</b> to not keep reference to these events, nor to depend on values of these events after
the method call returns.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/StructureEvent.StructureElementVisitedEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Fired <b>just before</b> any structure element is visited.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html" title="class in com.gtnewhorizon.structurelib">StructureLibAPI</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A stable interface into the structure lib's internals.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html" title="class in com.gtnewhorizon.structurelib.structure">StructureUtility</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">A brief index of everything contained</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/gtnewhorizon/structurelib/util/XSTR.html" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">XSTR - Xorshift ThermiteRandom Modified by Bogdan-G 03.06.2016 version 0.0.4</div>
</div>
</div>
</div>
</div>
</main>
</div>
</body>
</html>
+83
View File
@@ -0,0 +1,83 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>All Packages (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li><a href="overview-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="search.html">Search</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="com/gtnewhorizon/structurelib/package-summary.html">com.gtnewhorizon.structurelib</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="com/gtnewhorizon/structurelib/alignment/package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last odd-row-color">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first even-row-color"><a href="com/gtnewhorizon/structurelib/alignment/constructable/package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></div>
<div class="col-last even-row-color">
<div class="block">This package contains interfaces and utility methods for autobuilding a structure.</div>
</div>
<div class="col-first odd-row-color"><a href="com/gtnewhorizon/structurelib/alignment/enumerable/package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><a href="com/gtnewhorizon/structurelib/structure/package-summary.html">com.gtnewhorizon.structurelib.structure</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide support for multiblock structure checking.</div>
</div>
<div class="col-first odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/adders/package-summary.html">com.gtnewhorizon.structurelib.structure.adders</a></div>
<div class="col-last odd-row-color">
<div class="block">Adder interfaces used in various standard structure elements.</div>
</div>
<div class="col-first even-row-color"><a href="com/gtnewhorizon/structurelib/util/package-summary.html">com.gtnewhorizon.structurelib.util</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</main>
</div>
</body>
</html>
@@ -0,0 +1,322 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>StructureEvent.StructureElementVisitedEvent (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib, class: StructureEvent, class: StructureElementVisitedEvent">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../search.html">Search</a></li>
<li><a href="../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib</a></li>
<li><a href="StructureEvent.html">StructureEvent</a></li>
<li><a href="StructureEvent.StructureElementVisitedEvent.html" class="current-selection">StructureElementVisitedEvent</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#fireEvent(net.minecraft.world.World,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureElement)" tabindex="0">fireEvent(World, int, int, int, int, int, int, IStructureElement)</a></li>
<li><a href="#getA()" tabindex="0">getA()</a></li>
<li><a href="#getB()" tabindex="0">getB()</a></li>
<li><a href="#getC()" tabindex="0">getC()</a></li>
<li><a href="#getElement()" tabindex="0">getElement()</a></li>
<li><a href="#toString()" tabindex="0">toString()</a></li>
<li><a href="#getWorld()" tabindex="0">getWorld()</a></li>
<li><a href="#getX()" tabindex="0">getX()</a></li>
<li><a href="#getY()" tabindex="0">getY()</a></li>
<li><a href="#getZ()" tabindex="0">getZ()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class StructureEvent.StructureElementVisitedEvent" class="title">Class StructureEvent.StructureElementVisitedEvent</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">cpw.mods.fml.common.eventhandler.Event</a>
<div class="inheritance"><a href="StructureEvent.html" title="class in com.gtnewhorizon.structurelib">com.gtnewhorizon.structurelib.StructureEvent</a>
<div class="inheritance">com.gtnewhorizon.structurelib.StructureEvent.StructureElementVisitedEvent</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="StructureEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static final class </span><span class="element-name type-name-label">StructureEvent.StructureElementVisitedEvent</span>
<span class="extends-implements">extends <a href="StructureEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent</a></span></div>
<div class="block">Fired <b>just before</b> any structure element is visited.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-com.gtnewhorizon.structurelib.StructureEvent">Nested classes/interfaces inherited from class&nbsp;<a href="StructureEvent.html#nested-class-summary" title="class in com.gtnewhorizon.structurelib">StructureEvent</a></h3>
<code><a href="StructureEvent.StructureElementVisitedEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></code></div>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-cpw.mods.fml.common.eventhandler.Event">Nested classes/interfaces inherited from class&nbsp;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#nested-class-summary" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event</a></h3>
<code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.HasResult.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event.HasResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.Result.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event.Result</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fireEvent(net.minecraft.world.World,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureElement)" class="member-name-link">fireEvent</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;a,
int&nbsp;b,
int&nbsp;c,
<a href="structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;?&gt;&nbsp;element)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Fire this event on <code>MinecraftForge.EVENT_BUS</code> by populating it with given arguments.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getA()" class="member-name-link">getA</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">A position in ABC coordinate, relative to (0,0,0) in the piece, i.e.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getB()" class="member-name-link">getB</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">B position in ABC coordinate, relative to (0,0,0) in the piece, i.e.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getC()" class="member-name-link">getC</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">C position in ABC coordinate, relative to (0,0,0) in the piece, i.e.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a><wbr>&lt;?&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElement()" class="member-name-link">getElement</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Element being visited.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getWorld()" class="member-name-link">getWorld</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Location of this event.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getX()" class="member-name-link">getX</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Location of this event.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getY()" class="member-name-link">getY</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Location of this event.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getZ()" class="member-name-link">getZ</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Location of this event.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.StructureEvent">Methods inherited from class&nbsp;<a href="StructureEvent.html#method-summary" title="class in com.gtnewhorizon.structurelib">StructureEvent</a></h3>
<code><a href="StructureEvent.html#getInstrumentIdentifier()" title="getInstrumentIdentifier()">getInstrumentIdentifier</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-cpw.mods.fml.common.eventhandler.Event">Methods inherited from class&nbsp;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#method-summary" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event</a></h3>
<code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#getListenerList--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">getListenerList</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#getPhase--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">getPhase</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#getResult--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">getResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#hasResult--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">hasResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#isCancelable--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">isCancelable</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#isCanceled--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">isCanceled</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setCanceled-boolean-" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setCanceled</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setPhase-cpw.mods.fml.common.eventhandler.EventPriority-" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setPhase</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setResult-cpw.mods.fml.common.eventhandler.Event.Result-" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setup--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setup</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="fireEvent(net.minecraft.world.World,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureElement)">
<h3>fireEvent</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fireEvent</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;a,
int&nbsp;b,
int&nbsp;c,
<a href="structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;?&gt;&nbsp;element)</span></div>
<div class="block">Fire this event on <code>MinecraftForge.EVENT_BUS</code> by populating it with given arguments. Do nothing if
instrumenting isn't enabled for current thread.
<p>
Any <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link"><code>Exception</code></a> thrown by event listeners will be logged and ignored. <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Error.html" title="class or interface in java.lang" class="external-link"><code>Error</code></a> will be propagated
as is.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getA()">
<h3>getA</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getA</span>()</div>
<div class="block">A position in ABC coordinate, relative to (0,0,0) in the piece, i.e. without baseOffset
<p>
Submit a feature request if you need the baseOffset.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getB()">
<h3>getB</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getB</span>()</div>
<div class="block">B position in ABC coordinate, relative to (0,0,0) in the piece, i.e. without baseOffset
<p>
Submit a feature request if you need the baseOffset.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getC()">
<h3>getC</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getC</span>()</div>
<div class="block">C position in ABC coordinate, relative to (0,0,0) in the piece, i.e. without baseOffset
<p>
Submit a feature request if you need the baseOffset.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getElement()">
<h3>getElement</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;?&gt;</span>&nbsp;<span class="element-name">getElement</span>()</div>
<div class="block">Element being visited.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getWorld()">
<h3>getWorld</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a></span>&nbsp;<span class="element-name">getWorld</span>()</div>
<div class="block">Location of this event.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getX()">
<h3>getX</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getX</span>()</div>
<div class="block">Location of this event. Absolute world coordinate.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getY()">
<h3>getY</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getY</span>()</div>
<div class="block">Location of this event. Absolute world coordinate.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getZ()">
<h3>getZ</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getZ</span>()</div>
<div class="block">Location of this event. Absolute world coordinate.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,172 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>StructureEvent (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib, class: StructureEvent">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../search.html">Search</a></li>
<li><a href="../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib</a></li>
<li><a href="StructureEvent.html" class="current-selection">StructureEvent</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getInstrumentIdentifier()" tabindex="0">getInstrumentIdentifier()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class StructureEvent" class="title">Class StructureEvent</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">cpw.mods.fml.common.eventhandler.Event</a>
<div class="inheritance">com.gtnewhorizon.structurelib.StructureEvent</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="StructureEvent.StructureElementVisitedEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">StructureEvent</span>
<span class="extends-implements">extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event</a></span></div>
<div class="block">Subscribers are <b>required</b> to not keep reference to these events, nor to depend on values of these events after
the method call returns.
<p>
All of these events will be fired on the <code>MinecraftForge.EVENT_BUS</code>, if they are
enabled by <a href="StructureLibAPI.html#enableInstrument(java.lang.Object)"><code>StructureLibAPI.enableInstrument(Object)</code></a>.
<p>
All public stuff in this class and its enclosed classes are considered part of the public API. Backwards
compatibility is maintained to the maximum extend possible.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="StructureEvent.StructureElementVisitedEvent.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></code></div>
<div class="col-last even-row-color">
<div class="block">Fired <b>just before</b> any structure element is visited.</div>
</div>
</div>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-cpw.mods.fml.common.eventhandler.Event">Nested classes/interfaces inherited from class&nbsp;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#nested-class-summary" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event</a></h3>
<code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.HasResult.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event.HasResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.Result.html" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event.Result</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInstrumentIdentifier()" class="member-name-link">getInstrumentIdentifier</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">The instrument identifier.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-cpw.mods.fml.common.eventhandler.Event">Methods inherited from class&nbsp;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#method-summary" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">Event</a></h3>
<code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#getListenerList--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">getListenerList</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#getPhase--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">getPhase</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#getResult--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">getResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#hasResult--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">hasResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#isCancelable--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">isCancelable</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#isCanceled--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">isCanceled</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setCanceled-boolean-" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setCanceled</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setPhase-cpw.mods.fml.common.eventhandler.EventPriority-" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setPhase</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setResult-cpw.mods.fml.common.eventhandler.Event.Result-" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setResult</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html#setup--" title="class or interface in cpw.mods.fml.common.eventhandler" class="external-link">setup</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getInstrumentIdentifier()">
<h3>getInstrumentIdentifier</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span>&nbsp;<span class="element-name">getInstrumentIdentifier</span>()</div>
<div class="block">The instrument identifier. Subscribers should filter by these identifiers to prevent listening to a structure
event for other people.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,138 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>AlignmentUtility (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment, class: AlignmentUtility">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment</a></li>
<li><a href="AlignmentUtility.html" class="current-selection">AlignmentUtility</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#handle(net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int)" tabindex="0">handle(EntityPlayer, World, int, int, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class AlignmentUtility" class="title">Class AlignmentUtility</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.AlignmentUtility</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">AlignmentUtility</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#handle(net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int)" class="member-name-link">handle</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;aPlayer,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;aWorld,
int&nbsp;aX,
int&nbsp;aY,
int&nbsp;aZ)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="handle(net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int)">
<h3>handle</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">handle</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;aPlayer,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;aWorld,
int&nbsp;aX,
int&nbsp;aY,
int&nbsp;aZ)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,568 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IAlignment (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment, interface: IAlignment">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment</a></li>
<li><a href="IAlignment.html" class="current-selection">IAlignment</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#DIRECTIONS_COUNT" tabindex="0">DIRECTIONS_COUNT</a></li>
<li><a href="#ROTATIONS_COUNT" tabindex="0">ROTATIONS_COUNT</a></li>
<li><a href="#FLIPS_COUNT" tabindex="0">FLIPS_COUNT</a></li>
<li><a href="#STATES_COUNT" tabindex="0">STATES_COUNT</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getExtendedFacing()" tabindex="0">getExtendedFacing()</a></li>
<li><a href="#setExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">setExtendedFacing(ExtendedFacing)</a></li>
<li><a href="#getAlignmentLimits()" tabindex="0">getAlignmentLimits()</a></li>
<li><a href="#getAlignment()" tabindex="0">getAlignment()</a></li>
<li><a href="#getAlignmentIndex(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">getAlignmentIndex(ForgeDirection, Rotation, Flip)</a></li>
<li><a href="#getDirection()" tabindex="0">getDirection()</a></li>
<li><a href="#setDirection(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">setDirection(ForgeDirection)</a></li>
<li><a href="#getRotation()" tabindex="0">getRotation()</a></li>
<li><a href="#setRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" tabindex="0">setRotation(Rotation)</a></li>
<li><a href="#getFlip()" tabindex="0">getFlip()</a></li>
<li><a href="#setFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">setFlip(Flip)</a></li>
<li><a href="#toolSetDirection(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">toolSetDirection(ForgeDirection)</a></li>
<li><a href="#checkedSetDirection(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">checkedSetDirection(ForgeDirection)</a></li>
<li><a href="#canSetToDirectionAny(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">canSetToDirectionAny(ForgeDirection)</a></li>
<li><a href="#toolSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" tabindex="0">toolSetRotation(Rotation)</a></li>
<li><a href="#checkedSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" tabindex="0">checkedSetRotation(Rotation)</a></li>
<li><a href="#toolSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">toolSetFlip(Flip)</a></li>
<li><a href="#checkedSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">checkedSetFlip(Flip)</a></li>
<li><a href="#toolSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">toolSetExtendedFacing(ExtendedFacing)</a></li>
<li><a href="#checkedSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">checkedSetExtendedFacing(ExtendedFacing)</a></li>
<li><a href="#isNewDirectionValid(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">isNewDirectionValid(ForgeDirection)</a></li>
<li><a href="#isNewRotationValid(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" tabindex="0">isNewRotationValid(Rotation)</a></li>
<li><a href="#isNewFlipValid(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">isNewFlipValid(Flip)</a></li>
<li><a href="#isExtendedFacingValid()" tabindex="0">isExtendedFacingValid()</a></li>
<li><a href="#isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">isNewExtendedFacingValid(ForgeDirection, Rotation, Flip)</a></li>
<li><a href="#isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">isNewExtendedFacingValid(ExtendedFacing)</a></li>
<li><a href="#isFlipChangeAllowed()" tabindex="0">isFlipChangeAllowed()</a></li>
<li><a href="#isRotationChangeAllowed()" tabindex="0">isRotationChangeAllowed()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IAlignment" class="title">Interface IAlignment</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a>, <a href="IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IAlignment</span><span class="extends-implements">
extends <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a>, <a href="IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-com.gtnewhorizon.structurelib.alignment.IAlignmentLimits">Nested classes/interfaces inherited from interface&nbsp;<a href="IAlignmentLimits.html#nested-class-summary" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></h3>
<code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#DIRECTIONS_COUNT" class="member-name-link">DIRECTIONS_COUNT</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#FLIPS_COUNT" class="member-name-link">FLIPS_COUNT</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#ROTATIONS_COUNT" class="member-name-link">ROTATIONS_COUNT</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#STATES_COUNT" class="member-name-link">STATES_COUNT</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-com.gtnewhorizon.structurelib.alignment.IAlignmentLimits">Fields inherited from interface&nbsp;<a href="IAlignmentLimits.html#field-summary" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></h3>
<code><a href="IAlignmentLimits.html#FACING_UP">FACING_UP</a>, <a href="IAlignmentLimits.html#NOT_UPSIDE_DOWN">NOT_UPSIDE_DOWN</a>, <a href="IAlignmentLimits.html#UNLIMITED">UNLIMITED</a>, <a href="IAlignmentLimits.html#UPRIGHT">UPRIGHT</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#canSetToDirectionAny(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">canSetToDirectionAny</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#checkedSetDirection(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">checkedSetDirection</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#checkedSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">checkedSetExtendedFacing</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#checkedSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">checkedSetFlip</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#checkedSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" class="member-name-link">checkedSetRotation</a><wbr>(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getAlignment()" class="member-name-link">getAlignment</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#getAlignmentIndex(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">getAlignmentIndex</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction,
<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation,
<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAlignmentLimits()" class="member-name-link">getAlignmentLimits</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default net.minecraftforge.common.util.ForgeDirection</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getDirection()" class="member-name-link">getDirection</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getExtendedFacing()" class="member-name-link">getExtendedFacing</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getFlip()" class="member-name-link">getFlip</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getRotation()" class="member-name-link">getRotation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isExtendedFacingValid()" class="member-name-link">isExtendedFacingValid</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isFlipChangeAllowed()" class="member-name-link">isFlipChangeAllowed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Check if this object support a flip change, assuming both direction and rotation is not changed.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNewDirectionValid(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">isNewDirectionValid</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">isNewExtendedFacingValid</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">isNewExtendedFacingValid</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction,
<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation,
<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNewFlipValid(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">isNewFlipValid</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNewRotationValid(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" class="member-name-link">isNewRotationValid</a><wbr>(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isRotationChangeAllowed()" class="member-name-link">isRotationChangeAllowed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Check if this object support a rotation change, assuming both direction and flip is not changed.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#setDirection(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">setDirection</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">setExtendedFacing</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Set the facing without additional checks.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#setFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">setFlip</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#setRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" class="member-name-link">setRotation</a><wbr>(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#toolSetDirection(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">toolSetDirection</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#toolSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">toolSetExtendedFacing</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#toolSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">toolSetFlip</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#toolSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" class="member-name-link">toolSetRotation</a><wbr>(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DIRECTIONS_COUNT">
<h3>DIRECTIONS_COUNT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DIRECTIONS_COUNT</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="ROTATIONS_COUNT">
<h3>ROTATIONS_COUNT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">ROTATIONS_COUNT</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="FLIPS_COUNT">
<h3>FLIPS_COUNT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">FLIPS_COUNT</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="STATES_COUNT">
<h3>STATES_COUNT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">STATES_COUNT</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getExtendedFacing()">
<h3>getExtendedFacing</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></span>&nbsp;<span class="element-name">getExtendedFacing</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="setExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>setExtendedFacing</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setExtendedFacing</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</span></div>
<div class="block">Set the facing without additional checks. Tools altering facing should use
<a href="#toolSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"><code>toolSetExtendedFacing(ExtendedFacing)</code></a> instead.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getAlignmentLimits()">
<h3>getAlignmentLimits</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">getAlignmentLimits</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getAlignment()">
<h3>getAlignment</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></span>&nbsp;<span class="element-name">getAlignment</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IAlignmentProvider.html#getAlignment()">getAlignment</a></code>&nbsp;in interface&nbsp;<code><a href="IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getAlignmentIndex(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>getAlignmentIndex</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getAlignmentIndex</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction,
<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation,
<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getDirection()">
<h3>getDirection</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">net.minecraftforge.common.util.ForgeDirection</span>&nbsp;<span class="element-name">getDirection</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="setDirection(net.minecraftforge.common.util.ForgeDirection)">
<h3>setDirection</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setDirection</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getRotation()">
<h3>getRotation</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">getRotation</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="setRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)">
<h3>setRotation</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setRotation</span><wbr><span class="parameters">(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getFlip()">
<h3>getFlip</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">getFlip</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="setFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>setFlip</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setFlip</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toolSetDirection(net.minecraftforge.common.util.ForgeDirection)">
<h3>toolSetDirection</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">toolSetDirection</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="checkedSetDirection(net.minecraftforge.common.util.ForgeDirection)">
<h3>checkedSetDirection</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">checkedSetDirection</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="canSetToDirectionAny(net.minecraftforge.common.util.ForgeDirection)">
<h3>canSetToDirectionAny</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">canSetToDirectionAny</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toolSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)">
<h3>toolSetRotation</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">toolSetRotation</span><wbr><span class="parameters">(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="checkedSetRotation(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)">
<h3>checkedSetRotation</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">checkedSetRotation</span><wbr><span class="parameters">(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toolSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>toolSetFlip</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">toolSetFlip</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="checkedSetFlip(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>checkedSetFlip</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">checkedSetFlip</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toolSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>toolSetExtendedFacing</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">toolSetExtendedFacing</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="checkedSetExtendedFacing(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>checkedSetExtendedFacing</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">checkedSetExtendedFacing</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNewDirectionValid(net.minecraftforge.common.util.ForgeDirection)">
<h3>isNewDirectionValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewDirectionValid</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNewRotationValid(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)">
<h3>isNewRotationValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewRotationValid</span><wbr><span class="parameters">(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNewFlipValid(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>isNewFlipValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewFlipValid</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="isExtendedFacingValid()">
<h3>isExtendedFacingValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isExtendedFacingValid</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>isNewExtendedFacingValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewExtendedFacingValid</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction,
<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation,
<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IAlignmentLimits.html#isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">isNewExtendedFacingValid</a></code>&nbsp;in interface&nbsp;<code><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>isNewExtendedFacingValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewExtendedFacingValid</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IAlignmentLimits.html#isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">isNewExtendedFacingValid</a></code>&nbsp;in interface&nbsp;<code><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="isFlipChangeAllowed()">
<h3>isFlipChangeAllowed</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isFlipChangeAllowed</span>()</div>
<div class="block">Check if this object support a flip change, assuming both direction and rotation is not changed.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isRotationChangeAllowed()">
<h3>isRotationChangeAllowed</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isRotationChangeAllowed</span>()</div>
<div class="block">Check if this object support a rotation change, assuming both direction and flip is not changed.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,337 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IAlignmentLimits.Builder (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment, interface: IAlignmentLimits, class: Builder">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment</a></li>
<li><a href="IAlignmentLimits.html">IAlignmentLimits</a></li>
<li><a href="IAlignmentLimits.Builder.html" class="current-selection">Builder</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#validStates" tabindex="0">validStates</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#allowAll()" tabindex="0">allowAll()</a></li>
<li><a href="#denyAll()" tabindex="0">denyAll()</a></li>
<li><a href="#deny(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">deny(ForgeDirection)</a></li>
<li><a href="#allow(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">allow(ForgeDirection)</a></li>
<li><a href="#deny(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">deny(ExtendedFacing)</a></li>
<li><a href="#allow(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">allow(ExtendedFacing)</a></li>
<li><a href="#deny(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" tabindex="0">deny(Rotation)</a></li>
<li><a href="#allow(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" tabindex="0">allow(Rotation)</a></li>
<li><a href="#deny(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">deny(Flip)</a></li>
<li><a href="#allow(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">allow(Flip)</a></li>
<li><a href="#filter(java.util.function.Function)" tabindex="0">filter(Function)</a></li>
<li><a href="#ensureDuplicates()" tabindex="0">ensureDuplicates()</a></li>
<li><a href="#ensureNoDuplicates(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">ensureNoDuplicates(Flip)</a></li>
<li><a href="#build()" tabindex="0">build()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class IAlignmentLimits.Builder" class="title">Class IAlignmentLimits.Builder</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.IAlignmentLimits.Builder</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing interface:</dt>
<dd><code><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static class </span><span class="element-name type-name-label">IAlignmentLimits.Builder</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected final boolean[]</code></div>
<div class="col-second even-row-color"><code><a href="#validStates" class="member-name-link">validStates</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allow(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">allow</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;o)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allow(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">allow</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;fd)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allow(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" class="member-name-link">allow</a><wbr>(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;fd)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allow(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">allow</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;fd)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#allowAll()" class="member-name-link">allowAll</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#build()" class="member-name-link">build</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deny(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">deny</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;o)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deny(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">deny</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;fd)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deny(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)" class="member-name-link">deny</a><wbr>(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;fd)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deny(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">deny</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;fd)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#denyAll()" class="member-name-link">denyAll</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#ensureDuplicates()" class="member-name-link">ensureDuplicates</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#ensureNoDuplicates(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">ensureNoDuplicates</a><wbr>(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Prefers rotation to flip, so both flip will get translated to opposite rotation and no flip</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#filter(java.util.function.Function)" class="member-name-link">filter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>&gt;&gt;&nbsp;predicate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="validStates">
<h3>validStates</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">boolean[]</span>&nbsp;<span class="element-name">validStates</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="allowAll()">
<h3>allowAll</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">allowAll</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="denyAll()">
<h3>denyAll</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">denyAll</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="deny(net.minecraftforge.common.util.ForgeDirection)">
<h3>deny</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">deny</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;fd)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="allow(net.minecraftforge.common.util.ForgeDirection)">
<h3>allow</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">allow</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;fd)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="deny(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>deny</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">deny</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;o)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="allow(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>allow</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">allow</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;o)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="deny(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)">
<h3>deny</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">deny</span><wbr><span class="parameters">(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;fd)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="allow(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)">
<h3>allow</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">allow</span><wbr><span class="parameters">(<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;fd)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="deny(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>deny</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">deny</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;fd)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="allow(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>allow</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">allow</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;fd)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="filter(java.util.function.Function)">
<h3>filter</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>&gt;&gt;&nbsp;predicate)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="ensureDuplicates()">
<h3>ensureDuplicates</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">ensureDuplicates</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="ensureNoDuplicates(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>ensureNoDuplicates</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></span>&nbsp;<span class="element-name">ensureNoDuplicates</span><wbr><span class="parameters">(<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
<div class="block">Prefers rotation to flip, so both flip will get translated to opposite rotation and no flip</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>flip</code> - the preferred flip to be used Horizontal or vertical</dd>
<dt>Returns:</dt>
<dd>this</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="build()">
<h3>build</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">build</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,268 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IAlignmentLimits (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment, interface: IAlignmentLimits">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment</a></li>
<li><a href="IAlignmentLimits.html" class="current-selection">IAlignmentLimits</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#UNLIMITED" tabindex="0">UNLIMITED</a></li>
<li><a href="#UPRIGHT" tabindex="0">UPRIGHT</a></li>
<li><a href="#NOT_UPSIDE_DOWN" tabindex="0">NOT_UPSIDE_DOWN</a></li>
<li><a href="#FACING_UP" tabindex="0">FACING_UP</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" tabindex="0">isNewExtendedFacingValid(ForgeDirection, Rotation, Flip)</a></li>
<li><a href="#isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">isNewExtendedFacingValid(ExtendedFacing)</a></li>
<li><a href="#allowOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)" tabindex="0">allowOnly(ExtendedFacing...)</a></li>
<li><a href="#denyOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)" tabindex="0">denyOnly(ExtendedFacing...)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IAlignmentLimits" class="title">Interface IAlignmentLimits</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IAlignmentLimits</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Interface</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="IAlignmentLimits.Builder.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second even-row-color"><code><a href="#FACING_UP" class="member-name-link">FACING_UP</a></code></div>
<div class="col-last even-row-color">
<div class="block">Front side of the block must be facing up.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second odd-row-color"><code><a href="#NOT_UPSIDE_DOWN" class="member-name-link">NOT_UPSIDE_DOWN</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Can be in any orientation except upside down; i.e., top side of the block facing down.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second even-row-color"><code><a href="#UNLIMITED" class="member-name-link">UNLIMITED</a></code></div>
<div class="col-last even-row-color">
<div class="block">Can be placed in any orientation.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second odd-row-color"><code><a href="#UPRIGHT" class="member-name-link">UPRIGHT</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Must be standing upright; i.e., top side of the block facing up.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#allowOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)" class="member-name-link">allowOnly</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>...&nbsp;allowedFacings)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1"><code>static <a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1"><code><a href="#denyOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)" class="member-name-link">denyOnly</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>...&nbsp;allowedFacings)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">isNewExtendedFacingValid</a><wbr>(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)" class="member-name-link">isNewExtendedFacingValid</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;direction,
<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation,
<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="UNLIMITED">
<h3>UNLIMITED</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">UNLIMITED</span></div>
<div class="block">Can be placed in any orientation.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="UPRIGHT">
<h3>UPRIGHT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">UPRIGHT</span></div>
<div class="block">Must be standing upright; i.e., top side of the block facing up.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="NOT_UPSIDE_DOWN">
<h3>NOT_UPSIDE_DOWN</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">NOT_UPSIDE_DOWN</span></div>
<div class="block">Can be in any orientation except upside down; i.e., top side of the block facing down.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="FACING_UP">
<h3>FACING_UP</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">FACING_UP</span></div>
<div class="block">Front side of the block must be facing up.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="isNewExtendedFacingValid(net.minecraftforge.common.util.ForgeDirection,com.gtnewhorizon.structurelib.alignment.enumerable.Rotation,com.gtnewhorizon.structurelib.alignment.enumerable.Flip)">
<h3>isNewExtendedFacingValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewExtendedFacingValid</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;direction,
<a href="enumerable/Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&nbsp;rotation,
<a href="enumerable/Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&nbsp;flip)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNewExtendedFacingValid(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3>isNewExtendedFacingValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNewExtendedFacingValid</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;alignment)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="allowOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)">
<h3>allowOnly</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">allowOnly</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>...&nbsp;allowedFacings)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="denyOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)">
<h3>denyOnly</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></span>&nbsp;<span class="element-name">denyOnly</span><wbr><span class="parameters">(<a href="enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>...&nbsp;allowedFacings)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,128 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IAlignmentProvider (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment, interface: IAlignmentProvider">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment</a></li>
<li><a href="IAlignmentProvider.html" class="current-selection">IAlignmentProvider</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getAlignment()" tabindex="0">getAlignment()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IAlignmentProvider" class="title">Interface IAlignmentProvider</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IAlignmentProvider</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAlignment()" class="member-name-link">getAlignment</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getAlignment()">
<h3>getAlignment</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="return-type"><a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></span>&nbsp;<span class="element-name">getAlignment</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,261 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IntegerAxisSwap (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment, class: IntegerAxisSwap">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment</a></li>
<li><a href="IntegerAxisSwap.html" class="current-selection">IntegerAxisSwap</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E(net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection)" tabindex="0">IntegerAxisSwap(ForgeDirection, ForgeDirection, ForgeDirection)</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#translate(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">translate(Vec3Impl)</a></li>
<li><a href="#inverseTranslate(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">inverseTranslate(Vec3Impl)</a></li>
<li><a href="#translate(net.minecraft.util.Vec3)" tabindex="0">translate(Vec3)</a></li>
<li><a href="#inverseTranslate(net.minecraft.util.Vec3)" tabindex="0">inverseTranslate(Vec3)</a></li>
<li><a href="#translate(int%5B%5D,int%5B%5D)" tabindex="0">translate(int[], int[])</a></li>
<li><a href="#inverseTranslate(int%5B%5D,int%5B%5D)" tabindex="0">inverseTranslate(int[], int[])</a></li>
<li><a href="#translate(double%5B%5D,double%5B%5D)" tabindex="0">translate(double[], double[])</a></li>
<li><a href="#inverseTranslate(double%5B%5D,double%5B%5D)" tabindex="0">inverseTranslate(double[], double[])</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class IntegerAxisSwap" class="title">Class IntegerAxisSwap</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">IntegerAxisSwap</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">IntegerAxisSwap</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;forFirstAxis,
net.minecraftforge.common.util.ForgeDirection&nbsp;forSecondAxis,
net.minecraftforge.common.util.ForgeDirection&nbsp;forThirdAxis)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inverseTranslate(double%5B%5D,double%5B%5D)" class="member-name-link">inverseTranslate</a><wbr>(double[]&nbsp;point,
double[]&nbsp;out)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inverseTranslate(int%5B%5D,int%5B%5D)" class="member-name-link">inverseTranslate</a><wbr>(int[]&nbsp;point,
int[]&nbsp;out)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inverseTranslate(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">inverseTranslate</a><wbr>(<a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;point)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inverseTranslate(net.minecraft.util.Vec3)" class="member-name-link">inverseTranslate</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a>&nbsp;point)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#translate(double%5B%5D,double%5B%5D)" class="member-name-link">translate</a><wbr>(double[]&nbsp;point,
double[]&nbsp;out)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#translate(int%5B%5D,int%5B%5D)" class="member-name-link">translate</a><wbr>(int[]&nbsp;point,
int[]&nbsp;out)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#translate(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">translate</a><wbr>(<a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;point)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#translate(net.minecraft.util.Vec3)" class="member-name-link">translate</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a>&nbsp;point)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection,net.minecraftforge.common.util.ForgeDirection)">
<h3>IntegerAxisSwap</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">IntegerAxisSwap</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;forFirstAxis,
net.minecraftforge.common.util.ForgeDirection&nbsp;forSecondAxis,
net.minecraftforge.common.util.ForgeDirection&nbsp;forThirdAxis)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="translate(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>translate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">translate</span><wbr><span class="parameters">(<a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;point)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="inverseTranslate(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>inverseTranslate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">inverseTranslate</span><wbr><span class="parameters">(<a href="../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;point)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="translate(net.minecraft.util.Vec3)">
<h3>translate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a></span>&nbsp;<span class="element-name">translate</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a>&nbsp;point)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="inverseTranslate(net.minecraft.util.Vec3)">
<h3>inverseTranslate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a></span>&nbsp;<span class="element-name">inverseTranslate</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/Vec3.html" title="class or interface in net.minecraft.util" class="external-link">Vec3</a>&nbsp;point)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="translate(int[],int[])">
<h3>translate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">translate</span><wbr><span class="parameters">(int[]&nbsp;point,
int[]&nbsp;out)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="inverseTranslate(int[],int[])">
<h3>inverseTranslate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">inverseTranslate</span><wbr><span class="parameters">(int[]&nbsp;point,
int[]&nbsp;out)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="translate(double[],double[])">
<h3>translate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">translate</span><wbr><span class="parameters">(double[]&nbsp;point,
double[]&nbsp;out)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="inverseTranslate(double[],double[])">
<h3>inverseTranslate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">inverseTranslate</span><wbr><span class="parameters">(double[]&nbsp;point,
double[]&nbsp;out)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,340 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ChannelDataAccessor (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable, class: ChannelDataAccessor">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
<li><a href="ChannelDataAccessor.html" class="current-selection">ChannelDataAccessor</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#withChannel(net.minecraft.item.ItemStack,java.lang.String)" tabindex="0">withChannel(ItemStack, String)</a></li>
<li><a href="#hasSubChannel(net.minecraft.item.ItemStack)" tabindex="0">hasSubChannel(ItemStack)</a></li>
<li><a href="#hasSubChannel(net.minecraft.item.ItemStack,java.lang.String)" tabindex="0">hasSubChannel(ItemStack, String)</a></li>
<li><a href="#getChannelData(net.minecraft.item.ItemStack,java.lang.String)" tabindex="0">getChannelData(ItemStack, String)</a></li>
<li><a href="#setChannelData(net.minecraft.item.ItemStack,java.lang.String,int)" tabindex="0">setChannelData(ItemStack, String, int)</a></li>
<li><a href="#unsetChannelData(net.minecraft.item.ItemStack,java.lang.String)" tabindex="0">unsetChannelData(ItemStack, String)</a></li>
<li><a href="#wipeChannelData(net.minecraft.item.ItemStack)" tabindex="0">wipeChannelData(ItemStack)</a></li>
<li><a href="#iterateChannelData(net.minecraft.item.ItemStack)" tabindex="0">iterateChannelData(ItemStack)</a></li>
<li><a href="#countChannelData(net.minecraft.item.ItemStack)" tabindex="0">countChannelData(ItemStack)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class ChannelDataAccessor" class="title">Class ChannelDataAccessor</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ChannelDataAccessor</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">Provide accessor methods for channel data from trigger item.
<a href="../../../../../overview-summary.html#channels">Channels section on overview</a></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#countChannelData(net.minecraft.item.ItemStack)" class="member-name-link">countChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Get the number of subchannels present on given trigger item.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getChannelData(net.minecraft.item.ItemStack,java.lang.String)" class="member-name-link">getChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Get the subchannel data from given trigger item.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#hasSubChannel(net.minecraft.item.ItemStack)" class="member-name-link">hasSubChannel</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Check if given trigger item contains any subchannel</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#hasSubChannel(net.minecraft.item.ItemStack,java.lang.String)" class="member-name-link">hasSubChannel</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Check if given trigger item contains specified subchannel</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/Stream.html" title="class or interface in java.util.stream" class="external-link">Stream</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.Entry.html" title="class or interface in java.util" class="external-link">Map.Entry</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#iterateChannelData(net.minecraft.item.ItemStack)" class="member-name-link">iterateChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Iterate over all subchannel data on trigger stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#setChannelData(net.minecraft.item.ItemStack,java.lang.String,int)" class="member-name-link">setChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel,
int&nbsp;data)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Set the subchannel data on given trigger item</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#unsetChannelData(net.minecraft.item.ItemStack,java.lang.String)" class="member-name-link">unsetChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Clear the given subchannel from given trigger item, if it exists</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#wipeChannelData(net.minecraft.item.ItemStack)" class="member-name-link">wipeChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Wipe all subchannel data on given trigger item</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#withChannel(net.minecraft.item.ItemStack,java.lang.String)" class="member-name-link">withChannel</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Return a trigger item that
Still carry all the subchannel in some unspecified ways
Have its master channel data replaced with specified subchannel's data
If given subchannel does not exist, masterStack may or may not be returned to save performance.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="withChannel(net.minecraft.item.ItemStack,java.lang.String)">
<h3>withChannel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a></span>&nbsp;<span class="element-name">withChannel</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Return a trigger item that
<ul>
<li>Still carry all the subchannel in some unspecified ways</li>
<li>Have its master channel data replaced with specified subchannel's data</li>
</ul>
If given subchannel does not exist, masterStack may or may not be returned to save performance. Code within
StructureLib can depend on this behavior, you cannot.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger item. can be the return value of another
<a href="#withChannel(net.minecraft.item.ItemStack,java.lang.String)"><code>withChannel(net.minecraft.item.ItemStack, String)</code></a>
call</dd>
<dd><code>channel</code> - subchannel to use. will use current master channel data instead if this channel does not exist
Note: all channel identifiers are supposed to be lower case and not empty.</dd>
<dt>Returns:</dt>
<dd>a trigger item with new master channel</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="hasSubChannel(net.minecraft.item.ItemStack)">
<h3>hasSubChannel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasSubChannel</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</span></div>
<div class="block">Check if given trigger item contains any subchannel</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to check</dd>
<dt>Returns:</dt>
<dd>true if contains any subchannel</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="hasSubChannel(net.minecraft.item.ItemStack,java.lang.String)">
<h3>hasSubChannel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasSubChannel</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Check if given trigger item contains specified subchannel</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to check</dd>
<dd><code>channel</code> - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.</dd>
<dt>Returns:</dt>
<dd>true if contains specified subchannel</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannelData(net.minecraft.item.ItemStack,java.lang.String)">
<h3>getChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Get the subchannel data from given trigger item. Will use master channel instead if not present.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to query from</dd>
<dd><code>channel</code> - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.</dd>
<dt>Returns:</dt>
<dd>channel data</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="setChannelData(net.minecraft.item.ItemStack,java.lang.String,int)">
<h3>setChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel,
int&nbsp;data)</span></div>
<div class="block">Set the subchannel data on given trigger item</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to check</dd>
<dd><code>channel</code> - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.</dd>
<dd><code>data</code> - positive subchannel data</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="unsetChannelData(net.minecraft.item.ItemStack,java.lang.String)">
<h3>unsetChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">unsetChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Clear the given subchannel from given trigger item, if it exists</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to unset</dd>
<dd><code>channel</code> - channel identifier. Note: all channel identifiers are supposed to be lower case and not empty.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="wipeChannelData(net.minecraft.item.ItemStack)">
<h3>wipeChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">wipeChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</span></div>
<div class="block">Wipe all subchannel data on given trigger item</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to wipe</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="iterateChannelData(net.minecraft.item.ItemStack)">
<h3>iterateChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/Stream.html" title="class or interface in java.util.stream" class="external-link">Stream</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.Entry.html" title="class or interface in java.util" class="external-link">Map.Entry</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;&gt;</span>&nbsp;<span class="element-name">iterateChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</span></div>
<div class="block">Iterate over all subchannel data on trigger stack. Does not include master channel!!</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to check</dd>
<dt>Returns:</dt>
<dd>A java8 stream of pairs. Key is channel identifier and value is channel data. Pairs do not support
mutation nor removal. Can still cause <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/ConcurrentModificationException.html" title="class or interface in java.util" class="external-link"><code>ConcurrentModificationException</code></a> if underlying
channel data is modified while stream is working.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="countChannelData(net.minecraft.item.ItemStack)">
<h3>countChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">countChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;masterStack)</span></div>
<div class="block">Get the number of subchannels present on given trigger item. Does not include master channel.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>masterStack</code> - trigger stack to query from</dd>
<dt>Returns:</dt>
<dd>subchannel count</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,142 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ConstructableUtility (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable, class: ConstructableUtility">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
<li><a href="ConstructableUtility.html" class="current-selection">ConstructableUtility</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#handle(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int,int)" tabindex="0">handle(ItemStack, EntityPlayer, World, int, int, int, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class ConstructableUtility" class="title">Class ConstructableUtility</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.constructable.ConstructableUtility</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ConstructableUtility</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#handle(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int,int)" class="member-name-link">handle</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;aStack,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;aPlayer,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;aWorld,
int&nbsp;aX,
int&nbsp;aY,
int&nbsp;aZ,
int&nbsp;aSide)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="handle(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayer,net.minecraft.world.World,int,int,int,int)">
<h3>handle</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">handle</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;aStack,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;aPlayer,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;aWorld,
int&nbsp;aX,
int&nbsp;aY,
int&nbsp;aZ,
int&nbsp;aSide)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,157 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IConstructable (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable, interface: IConstructable">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
<li><a href="IConstructable.html" class="current-selection">IConstructable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#construct(net.minecraft.item.ItemStack,boolean)" tabindex="0">construct(ItemStack, boolean)</a></li>
<li><a href="#getStructureDefinition()" tabindex="0">getStructureDefinition()</a></li>
<li><a href="#getStructureDescription(net.minecraft.item.ItemStack)" tabindex="0">getStructureDescription(ItemStack)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IConstructable" class="title">Interface IConstructable</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="ISurvivalConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IConstructable</span></div>
<div class="block">Created by Tec on 24.03.2017.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#construct(net.minecraft.item.ItemStack,boolean)" class="member-name-link">construct</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
boolean&nbsp;hintsOnly)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="../../structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a><wbr>&lt;?&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getStructureDefinition()" class="member-name-link">getStructureDefinition</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Get the structure definition used for this constructable.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStructureDescription(net.minecraft.item.ItemStack)" class="member-name-link">getStructureDescription</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="construct(net.minecraft.item.ItemStack,boolean)">
<h3>construct</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">construct</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
boolean&nbsp;hintsOnly)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStructureDefinition()">
<h3>getStructureDefinition</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="../../structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;?&gt;</span>&nbsp;<span class="element-name">getStructureDefinition</span>()</div>
<div class="block">Get the structure definition used for this constructable. Can be null if this constructable is not backed by one.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStructureDescription(net.minecraft.item.ItemStack)">
<h3>getStructureDescription</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span>&nbsp;<span class="element-name">getStructureDescription</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,129 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IConstructableProvider (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable, interface: IConstructableProvider">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
<li><a href="IConstructableProvider.html" class="current-selection">IConstructableProvider</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getConstructable()" tabindex="0">getConstructable()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IConstructableProvider" class="title">Interface IConstructableProvider</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IConstructableProvider</span></div>
<div class="block">Implement this interface if this tile entity MIGHT be constructable</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConstructable()" class="member-name-link">getConstructable</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getConstructable()">
<h3>getConstructable</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="return-type"><a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></span>&nbsp;<span class="element-name">getConstructable</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>null if not constructable, an instance otherwise.</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,265 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IMultiblockInfoContainer (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable, interface: IMultiblockInfoContainer">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
<li><a href="IMultiblockInfoContainer.html" class="current-selection">IMultiblockInfoContainer</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#MULTIBLOCK_MAP" tabindex="0">MULTIBLOCK_MAP</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#registerTileClass(java.lang.Class,com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer)" tabindex="0">registerTileClass(Class, IMultiblockInfoContainer)</a></li>
<li><a href="#get(java.lang.Class)" tabindex="0">get(Class)</a></li>
<li><a href="#contains(java.lang.Class)" tabindex="0">contains(Class)</a></li>
<li><a href="#construct(net.minecraft.item.ItemStack,boolean,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">construct(ItemStack, boolean, T, ExtendedFacing)</a></li>
<li><a href="#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">survivalConstruct(ItemStack, int, ISurvivalBuildEnvironment, T, ExtendedFacing)</a></li>
<li><a href="#getDescription(net.minecraft.item.ItemStack)" tabindex="0">getDescription(ItemStack)</a></li>
<li><a href="#toConstructable(T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" tabindex="0">toConstructable(T, ExtendedFacing)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IMultiblockInfoContainer" class="title">Interface IMultiblockInfoContainer&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IMultiblockInfoContainer&lt;T&gt;</span></div>
<div class="block">To implement IConstructable on not own TileEntities</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;?&gt;&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#MULTIBLOCK_MAP" class="member-name-link">MULTIBLOCK_MAP</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#construct(net.minecraft.item.ItemStack,boolean,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">construct</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
boolean&nbsp;hintsOnly,
<a href="#type-param-T" title="type parameter in IMultiblockInfoContainer">T</a>&nbsp;tileEntity,
<a href="../enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;aSide)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1"><code>static boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1"><code><a href="#contains(java.lang.Class)" class="member-name-link">contains</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;tClass)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static &lt;T&gt;&nbsp;<a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a><wbr>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#get(java.lang.Class)" class="member-name-link">get</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;tClass)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDescription(net.minecraft.item.ItemStack)" class="member-name-link">getDescription</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static &lt;T extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/tileentity/TileEntity.html" title="class or interface in net.minecraft.tileentity" class="external-link">TileEntity</a>&gt;<br>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#registerTileClass(java.lang.Class,com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer)" class="member-name-link">registerTileClass</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;clazz,
<a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;?&gt;&nbsp;info)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">
<div class="block">There is no specific loading phase restriction, but you should generally not call it before the tile entity is
properly registered.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">survivalConstruct</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
int&nbsp;elementBudge,
<a href="../../structure/ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a>&nbsp;env,
<a href="#type-param-T" title="type parameter in IMultiblockInfoContainer">T</a>&nbsp;tileEntity,
<a href="../enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;aSide)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Construct the structure using
<a href="../../structure/IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="ISurvivalConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#toConstructable(T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)" class="member-name-link">toConstructable</a><wbr>(<a href="#type-param-T" title="type parameter in IMultiblockInfoContainer">T</a>&nbsp;tileEntity,
<a href="../enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;aSide)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="MULTIBLOCK_MAP">
<h3>MULTIBLOCK_MAP</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;?&gt;&gt;</span>&nbsp;<span class="element-name">MULTIBLOCK_MAP</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="registerTileClass(java.lang.Class,com.gtnewhorizon.structurelib.alignment.constructable.IMultiblockInfoContainer)">
<h3>registerTileClass</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="type-parameters">&lt;T extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/tileentity/TileEntity.html" title="class or interface in net.minecraft.tileentity" class="external-link">TileEntity</a>&gt;</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">registerTileClass</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;clazz,
<a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;?&gt;&nbsp;info)</span></div>
<div class="block">There is no specific loading phase restriction, but you should generally not call it before the tile entity is
properly registered.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="get(java.lang.Class)">
<h3>get</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;T&gt;</span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;tClass)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="contains(java.lang.Class)">
<h3>contains</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">contains</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;?&gt;&nbsp;tClass)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="construct(net.minecraft.item.ItemStack,boolean,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3 id="construct(net.minecraft.item.ItemStack,boolean,java.lang.Object,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">construct</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">construct</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
boolean&nbsp;hintsOnly,
<a href="#type-param-T" title="type parameter in IMultiblockInfoContainer">T</a>&nbsp;tileEntity,
<a href="../enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;aSide)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3 id="survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,java.lang.Object,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">survivalConstruct</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">survivalConstruct</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
int&nbsp;elementBudge,
<a href="../../structure/ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a>&nbsp;env,
<a href="#type-param-T" title="type parameter in IMultiblockInfoContainer">T</a>&nbsp;tileEntity,
<a href="../enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;aSide)</span></div>
<div class="block">Construct the structure using
<a href="../../structure/IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>-1 if done, a helping pointer</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getDescription(net.minecraft.item.ItemStack)">
<h3>getDescription</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]</span>&nbsp;<span class="element-name">getDescription</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toConstructable(T,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">
<h3 id="toConstructable(java.lang.Object,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)">toConstructable</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="ISurvivalConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></span>&nbsp;<span class="element-name">toConstructable</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IMultiblockInfoContainer">T</a>&nbsp;tileEntity,
<a href="../enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;aSide)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,250 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ISurvivalConstructable (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable, interface: ISurvivalConstructable">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
<li><a href="ISurvivalConstructable.html" class="current-selection">ISurvivalConstructable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#DISABLE_HACKY_MIGRATION_CODE" tabindex="0">DISABLE_HACKY_MIGRATION_CODE</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">survivalConstruct(ItemStack, int, IItemSource, EntityPlayerMP)</a></li>
<li><a href="#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment)" tabindex="0">survivalConstruct(ItemStack, int, ISurvivalBuildEnvironment)</a></li>
<li><a href="#__get_player()" tabindex="0">__get_player()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface ISurvivalConstructable" class="title">Interface ISurvivalConstructable</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ISurvivalConstructable</span><span class="extends-implements">
extends <a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></span></div>
<div class="block">An extension to <a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>IConstructable</code></a>. Tile Entities (or delegates returned by
<a href="IConstructableProvider.html#getConstructable()"><code>IConstructableProvider.getConstructable()</code></a> should implement this interface to allow third party tools and
StructureLib builtin constructable tools to trigger autoplace in survival mode.
<p>
While not originally planned, a creative player can also use this interface to trigger autoplace by using an
<a href="../../structure/IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a> with every possible items in the game.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#DISABLE_HACKY_MIGRATION_CODE" class="member-name-link">DISABLE_HACKY_MIGRATION_CODE</a></code></div>
<div class="col-last even-row-color">
<div class="block">End player might want to disable this hack if it turns out to be too crashy</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab6"><code>static <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab6"><code><a href="#__get_player()" class="member-name-link">__get_player</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code><a href="#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">survivalConstruct</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
int&nbsp;elementBudget,
<a href="../../structure/IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment)" class="member-name-link">survivalConstruct</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
int&nbsp;elementBudget,
<a href="../../structure/ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a>&nbsp;env)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Construct the structure using
<a href="../../structure/IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>
or
<a href="../../structure/IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)"><code>IStructureDefinition.survivalBuild(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)</code></a></div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.alignment.constructable.IConstructable">Methods inherited from interface&nbsp;<a href="IConstructable.html#method-summary" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></h3>
<code><a href="IConstructable.html#construct(net.minecraft.item.ItemStack,boolean)" title="construct(ItemStack, boolean)">construct</a>, <a href="IConstructable.html#getStructureDefinition()" title="getStructureDefinition()">getStructureDefinition</a>, <a href="IConstructable.html#getStructureDescription(net.minecraft.item.ItemStack)" title="getStructureDescription(ItemStack)">getStructureDescription</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DISABLE_HACKY_MIGRATION_CODE">
<h3>DISABLE_HACKY_MIGRATION_CODE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">DISABLE_HACKY_MIGRATION_CODE</span></div>
<div class="block">End player might want to disable this hack if it turns out to be too crashy</div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)">
<h3>survivalConstruct</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">survivalConstruct</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
int&nbsp;elementBudget,
<a href="../../structure/IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Construct the structure using
<a href="../../structure/IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, java.util.function.Consumer)</code></a>
or
<a href="../../structure/IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)"><code>IStructureDefinition.survivalBuild(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, IItemSource, EntityPlayerMP, boolean)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>elementBudget</code> - The server configured element budget. The implementor can choose to tune this up a bit if
the structure is too big, but generally should not be a 4 digits number to not overwhelm the
server</dd>
<dt>Returns:</dt>
<dd>-1 if done, otherwise number of elements placed this round</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment)">
<h3>survivalConstruct</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">survivalConstruct</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stackSize,
int&nbsp;elementBudget,
<a href="../../structure/ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a>&nbsp;env)</span></div>
<div class="block">Construct the structure using
<a href="../../structure/IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>
or
<a href="../../structure/IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)"><code>IStructureDefinition.survivalBuild(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)</code></a></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>elementBudget</code> - The server configured element budget. The implementor can choose to tune this up a bit if
the structure is too big, but generally should not be a 4 digits number to not overwhelm the
server</dd>
<dt>Returns:</dt>
<dd>-1 if done, -2 if not supported (e.g. due to an incompatible change in the API of env, otherwise number
of elements placed this round</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="__get_player()">
<h3>__get_player</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a></span>&nbsp;<span class="element-name">__get_player</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Internal hack. Do not use.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,126 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.alignment.constructable (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.constructable">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib.alignment.constructable" class="title">Package com.gtnewhorizon.structurelib.alignment.constructable</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib.alignment.constructable</span></div>
<section class="package-description" id="package-description">
<div class="block">This package contains interfaces and utility methods for autobuilding a structure.</div>
</section>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first odd-row-color"><a href="../enumerable/package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel" aria-labelledby="class-summary-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ChannelDataAccessor.html" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ChannelDataAccessor</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Provide accessor methods for channel data from trigger item.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ConstructableUtility.html" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ConstructableUtility</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Created by Tec on 24.03.2017.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IConstructableProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructableProvider</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Implement this interface if this tile entity MIGHT be constructable</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IMultiblockInfoContainer.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">To implement IConstructable on not own TileEntities</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ISurvivalConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">An extension to <a href="IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>IConstructable</code></a>.</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,86 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.alignment.constructable Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib.alignment.constructable">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.alignment.constructable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib.alignment.constructable</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="ChannelDataAccessor.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ChannelDataAccessor</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="ConstructableUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ConstructableUtility</a></li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="IConstructable.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="ISurvivalConstructable.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="IConstructableProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructableProvider</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="IMultiblockInfoContainer.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;T&gt;</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,360 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Direction (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.enumerable, enum: Direction">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></li>
<li><a href="Direction.html" class="current-selection">Direction</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#DOWN" tabindex="0">DOWN</a></li>
<li><a href="#UP" tabindex="0">UP</a></li>
<li><a href="#NORTH" tabindex="0">NORTH</a></li>
<li><a href="#SOUTH" tabindex="0">SOUTH</a></li>
<li><a href="#WEST" tabindex="0">WEST</a></li>
<li><a href="#EAST" tabindex="0">EAST</a></li>
</ol>
</li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#VALUES" tabindex="0">VALUES</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
<li><a href="#getForgeDirection()" tabindex="0">getForgeDirection()</a></li>
<li><a href="#getAxisVector()" tabindex="0">getAxisVector()</a></li>
<li><a href="#getAxisVector(net.minecraftforge.common.util.ForgeDirection)" tabindex="0">getAxisVector(ForgeDirection)</a></li>
<li><a href="#getByAxisVector(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">getByAxisVector(Vec3Impl)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class Direction" class="title">Enum Class Direction</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.enumerable.Direction</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Direction</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#DOWN" class="member-name-link">DOWN</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#EAST" class="member-name-link">EAST</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code><a href="#NORTH" class="member-name-link">NORTH</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#SOUTH" class="member-name-link">SOUTH</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code><a href="#UP" class="member-name-link">UP</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#WEST" class="member-name-link">WEST</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>[]</code></div>
<div class="col-second even-row-color"><code><a href="#VALUES" class="member-name-link">VALUES</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAxisVector()" class="member-name-link">getAxisVector</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getAxisVector(net.minecraftforge.common.util.ForgeDirection)" class="member-name-link">getAxisVector</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;forgeDirection)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getByAxisVector(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">getByAxisVector</a><wbr>(<a href="../../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;vec3)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>net.minecraftforge.common.util.ForgeDirection</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getForgeDirection()" class="member-name-link">getForgeDirection</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DOWN">
<h3>DOWN</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">DOWN</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="UP">
<h3>UP</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">UP</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="NORTH">
<h3>NORTH</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">NORTH</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="SOUTH">
<h3>SOUTH</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">SOUTH</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="WEST">
<h3>WEST</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">WEST</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="EAST">
<h3>EAST</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">EAST</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="VALUES">
<h3>VALUES</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>[]</span>&nbsp;<span class="element-name">VALUES</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getForgeDirection()">
<h3>getForgeDirection</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">net.minecraftforge.common.util.ForgeDirection</span>&nbsp;<span class="element-name">getForgeDirection</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getAxisVector()">
<h3>getAxisVector</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">getAxisVector</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getAxisVector(net.minecraftforge.common.util.ForgeDirection)">
<h3>getAxisVector</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">getAxisVector</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;forgeDirection)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getByAxisVector(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>getByAxisVector</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></span>&nbsp;<span class="element-name">getByAxisVector</span><wbr><span class="parameters">(<a href="../../util/Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;vec3)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,439 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Flip (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.enumerable, enum: Flip">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></li>
<li><a href="Flip.html" class="current-selection">Flip</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#NONE" tabindex="0">NONE</a></li>
<li><a href="#HORIZONTAL" tabindex="0">HORIZONTAL</a></li>
<li><a href="#VERTICAL" tabindex="0">VERTICAL</a></li>
<li><a href="#BOTH" tabindex="0">BOTH</a></li>
</ol>
</li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#VALUES" tabindex="0">VALUES</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
<li><a href="#getIndex()" tabindex="0">getIndex()</a></li>
<li><a href="#getOpposite()" tabindex="0">getOpposite()</a></li>
<li><a href="#getName2()" tabindex="0">getName2()</a></li>
<li><a href="#byName(java.lang.String)" tabindex="0">byName(String)</a></li>
<li><a href="#byIndex(int)" tabindex="0">byIndex(int)</a></li>
<li><a href="#random(java.util.Random)" tabindex="0">random(Random)</a></li>
<li><a href="#toString()" tabindex="0">toString()</a></li>
<li><a href="#getName()" tabindex="0">getName()</a></li>
<li><a href="#isNotFlipped()" tabindex="0">isNotFlipped()</a></li>
<li><a href="#isBothFlipped()" tabindex="0">isBothFlipped()</a></li>
<li><a href="#isHorizontallyFlipped()" tabindex="0">isHorizontallyFlipped()</a></li>
<li><a href="#isVerticallyFliped()" tabindex="0">isVerticallyFliped()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class Flip" class="title">Enum Class Flip</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.enumerable.Flip</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Flip</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#BOTH" class="member-name-link">BOTH</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#HORIZONTAL" class="member-name-link">HORIZONTAL</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code><a href="#NONE" class="member-name-link">NONE</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#VERTICAL" class="member-name-link">VERTICAL</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>[]</code></div>
<div class="col-second even-row-color"><code><a href="#VALUES" class="member-name-link">VALUES</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#byIndex(int)" class="member-name-link">byIndex</a><wbr>(int&nbsp;index)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#byName(java.lang.String)" class="member-name-link">byName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getIndex()" class="member-name-link">getIndex</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName2()" class="member-name-link">getName2</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOpposite()" class="member-name-link">getOpposite</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isBothFlipped()" class="member-name-link">isBothFlipped</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isHorizontallyFlipped()" class="member-name-link">isHorizontallyFlipped</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isNotFlipped()" class="member-name-link">isNotFlipped</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isVerticallyFliped()" class="member-name-link">isVerticallyFliped</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#random(java.util.Random)" class="member-name-link">random</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a>&nbsp;rand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="NONE">
<h3>NONE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">NONE</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="HORIZONTAL">
<h3>HORIZONTAL</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">HORIZONTAL</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="VERTICAL">
<h3>VERTICAL</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">VERTICAL</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="BOTH">
<h3>BOTH</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">BOTH</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="VALUES">
<h3>VALUES</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>[]</span>&nbsp;<span class="element-name">VALUES</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getIndex()">
<h3>getIndex</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getIndex</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getOpposite()">
<h3>getOpposite</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">getOpposite</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getName2()">
<h3>getName2</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName2</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="byName(java.lang.String)">
<h3>byName</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">byName</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="byIndex(int)">
<h3>byIndex</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">byIndex</span><wbr><span class="parameters">(int&nbsp;index)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="random(java.util.Random)">
<h3>random</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></span>&nbsp;<span class="element-name">random</span><wbr><span class="parameters">(@Nonnull
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a>&nbsp;rand)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNotFlipped()">
<h3>isNotFlipped</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNotFlipped</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isBothFlipped()">
<h3>isBothFlipped</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isBothFlipped</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isHorizontallyFlipped()">
<h3>isHorizontallyFlipped</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isHorizontallyFlipped</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isVerticallyFliped()">
<h3>isVerticallyFliped</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isVerticallyFliped</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,439 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Rotation (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.enumerable, enum: Rotation">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></li>
<li><a href="Rotation.html" class="current-selection">Rotation</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#NORMAL" tabindex="0">NORMAL</a></li>
<li><a href="#CLOCKWISE" tabindex="0">CLOCKWISE</a></li>
<li><a href="#UPSIDE_DOWN" tabindex="0">UPSIDE_DOWN</a></li>
<li><a href="#COUNTER_CLOCKWISE" tabindex="0">COUNTER_CLOCKWISE</a></li>
</ol>
</li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#VALUES" tabindex="0">VALUES</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
<li><a href="#getIndex()" tabindex="0">getIndex()</a></li>
<li><a href="#getOpposite()" tabindex="0">getOpposite()</a></li>
<li><a href="#getName2()" tabindex="0">getName2()</a></li>
<li><a href="#byName(java.lang.String)" tabindex="0">byName(String)</a></li>
<li><a href="#byIndex(int)" tabindex="0">byIndex(int)</a></li>
<li><a href="#random(java.util.Random)" tabindex="0">random(Random)</a></li>
<li><a href="#toString()" tabindex="0">toString()</a></li>
<li><a href="#getName()" tabindex="0">getName()</a></li>
<li><a href="#isNotRotated()" tabindex="0">isNotRotated()</a></li>
<li><a href="#isClockwise()" tabindex="0">isClockwise()</a></li>
<li><a href="#isCounterClockwise()" tabindex="0">isCounterClockwise()</a></li>
<li><a href="#isUpsideDown()" tabindex="0">isUpsideDown()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class Rotation" class="title">Enum Class Rotation</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.alignment.enumerable.Rotation</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">Rotation</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#CLOCKWISE" class="member-name-link">CLOCKWISE</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#COUNTER_CLOCKWISE" class="member-name-link">COUNTER_CLOCKWISE</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code><a href="#NORMAL" class="member-name-link">NORMAL</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#UPSIDE_DOWN" class="member-name-link">UPSIDE_DOWN</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>[]</code></div>
<div class="col-second even-row-color"><code><a href="#VALUES" class="member-name-link">VALUES</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#byIndex(int)" class="member-name-link">byIndex</a><wbr>(int&nbsp;index)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#byName(java.lang.String)" class="member-name-link">byName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getIndex()" class="member-name-link">getIndex</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName2()" class="member-name-link">getName2</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOpposite()" class="member-name-link">getOpposite</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isClockwise()" class="member-name-link">isClockwise</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isCounterClockwise()" class="member-name-link">isCounterClockwise</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isNotRotated()" class="member-name-link">isNotRotated</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isUpsideDown()" class="member-name-link">isUpsideDown</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#random(java.util.Random)" class="member-name-link">random</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a>&nbsp;rand)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="NORMAL">
<h3>NORMAL</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">NORMAL</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="CLOCKWISE">
<h3>CLOCKWISE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">CLOCKWISE</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="UPSIDE_DOWN">
<h3>UPSIDE_DOWN</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">UPSIDE_DOWN</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="COUNTER_CLOCKWISE">
<h3>COUNTER_CLOCKWISE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">COUNTER_CLOCKWISE</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="VALUES">
<h3>VALUES</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>[]</span>&nbsp;<span class="element-name">VALUES</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getIndex()">
<h3>getIndex</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getIndex</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getOpposite()">
<h3>getOpposite</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">getOpposite</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getName2()">
<h3>getName2</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName2</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="byName(java.lang.String)">
<h3>byName</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">byName</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="byIndex(int)">
<h3>byIndex</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">byIndex</span><wbr><span class="parameters">(int&nbsp;index)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="random(java.util.Random)">
<h3>random</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></span>&nbsp;<span class="element-name">random</span><wbr><span class="parameters">(@Nonnull
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a>&nbsp;rand)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNotRotated()">
<h3>isNotRotated</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNotRotated</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isClockwise()">
<h3>isClockwise</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isClockwise</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isCounterClockwise()">
<h3>isCounterClockwise</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isCounterClockwise</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isUpsideDown()">
<h3>isUpsideDown</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isUpsideDown</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,109 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.alignment.enumerable (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment.enumerable">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.alignment.enumerable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib.alignment.enumerable" class="title">Package com.gtnewhorizon.structurelib.alignment.enumerable</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib.alignment.enumerable</span></div>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first odd-row-color"><a href="../constructable/package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></div>
<div class="col-last odd-row-color">
<div class="block">This package contains interfaces and utility methods for autobuilding a structure.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="caption"><span>Enum Classes</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="Direction.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="Flip.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="Rotation.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">&nbsp;</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,80 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.alignment.enumerable Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib.alignment.enumerable">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.alignment.enumerable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib.alignment.enumerable</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="Direction.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="ExtendedFacing.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="Flip.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="Rotation.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,127 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.alignment (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.alignment">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.alignment</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib.alignment" class="title">Package com.gtnewhorizon.structurelib.alignment</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib.alignment</span></div>
<section class="package-description" id="package-description">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.
<p>
All public stuff in this package and its subpackages are considered part of the public API. Backwards compatibility
is maintained to the maximum extend possible.</div>
</section>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">com.gtnewhorizon.structurelib</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="constructable/package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></div>
<div class="col-last odd-row-color">
<div class="block">This package contains interfaces and utility methods for autobuilding a structure.</div>
</div>
<div class="col-first even-row-color"><a href="enumerable/package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="../structure/package-summary.html">com.gtnewhorizon.structurelib.structure</a></div>
<div class="col-last odd-row-color">
<div class="block">This package provide support for multiblock structure checking.</div>
</div>
<div class="col-first even-row-color"><a href="../util/package-summary.html">com.gtnewhorizon.structurelib.util</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel" aria-labelledby="class-summary-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AlignmentUtility.html" title="class in com.gtnewhorizon.structurelib.alignment">AlignmentUtility</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="IAlignmentLimits.Builder.html" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="IntegerAxisSwap.html" title="class in com.gtnewhorizon.structurelib.alignment">IntegerAxisSwap</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,90 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.alignment Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib.alignment">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.alignment</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib.alignment</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="AlignmentUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">AlignmentUtility</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="IAlignmentLimits.Builder.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="IntegerAxisSwap.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">IntegerAxisSwap</a></li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="IAlignmentLimits.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="IAlignment.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a> (also extends com.gtnewhorizon.structurelib.alignment.<a href="IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a>)</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="IAlignmentProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="IAlignment.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a> (also extends com.gtnewhorizon.structurelib.alignment.<a href="IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a>)</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,116 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../search.html">Search</a></li>
<li><a href="../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib" class="title">Package com.gtnewhorizon.structurelib</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib</span></div>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="alignment/package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first odd-row-color"><a href="structure/package-summary.html">com.gtnewhorizon.structurelib.structure</a></div>
<div class="col-last odd-row-color">
<div class="block">This package provide support for multiblock structure checking.</div>
</div>
<div class="col-first even-row-color"><a href="util/package-summary.html">com.gtnewhorizon.structurelib.util</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="caption"><span>Classes</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="StructureEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Subscribers are <b>required</b> to not keep reference to these events, nor to depend on values of these events after
the method call returns.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="StructureEvent.StructureElementVisitedEvent.html" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Fired <b>just before</b> any structure element is visited.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="StructureLibAPI.html" title="class in com.gtnewhorizon.structurelib">StructureLibAPI</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">A stable interface into the structure lib's internals.</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,82 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../search.html">Search</a></li>
<li><a href="../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">cpw.mods.fml.common.eventhandler.<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html" class="type-name-link external-link" title="class or interface in cpw.mods.fml.common.eventhandler">Event</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.<a href="StructureEvent.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureEvent</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.<a href="StructureEvent.StructureElementVisitedEvent.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></li>
</ul>
</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.<a href="StructureLibAPI.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureLibAPI</a></li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,261 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>AutoPlaceEnvironment.APILevel (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, class: AutoPlaceEnvironment, enum: APILevel">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="AutoPlaceEnvironment.html">AutoPlaceEnvironment</a></li>
<li><a href="AutoPlaceEnvironment.APILevel.html" class="current-selection">APILevel</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#Legacy" tabindex="0">Legacy</a></li>
<li><a href="#LegacyRelaxed" tabindex="0">LegacyRelaxed</a></li>
<li><a href="#V2" tabindex="0">V2</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class AutoPlaceEnvironment.APILevel" class="title">Enum Class AutoPlaceEnvironment.APILevel</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment.APILevel</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
</dl>
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static enum </span><span class="element-name type-name-label">AutoPlaceEnvironment.APILevel</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a>&gt;</span></div>
<div class="block">Defines the various API level an <a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure"><code>AutoPlaceEnvironment</code></a> has implemented.
<p>
Enum constants are defined in chronological order.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#Legacy" class="member-name-link">Legacy</a></code></div>
<div class="col-last even-row-color">
<div class="block">Implements <a href="AutoPlaceEnvironment.html#getChatter()"><code>AutoPlaceEnvironment.getChatter()</code></a>, <a href="AutoPlaceEnvironment.html#getActor()"><code>AutoPlaceEnvironment.getActor()</code></a> and <a href="AutoPlaceEnvironment.html#getSource()"><code>AutoPlaceEnvironment.getSource()</code></a>.</div>
</div>
<div class="col-first odd-row-color"><code><a href="#LegacyRelaxed" class="member-name-link">LegacyRelaxed</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Implements <a href="AutoPlaceEnvironment.html#getChatter()"><code>AutoPlaceEnvironment.getChatter()</code></a>, <a href="AutoPlaceEnvironment.html#getActor()"><code>AutoPlaceEnvironment.getActor()</code></a> and <a href="AutoPlaceEnvironment.html#getSource()"><code>AutoPlaceEnvironment.getSource()</code></a>.</div>
</div>
<div class="col-first even-row-color"><code><a href="#V2" class="member-name-link">V2</a></code></div>
<div class="col-last even-row-color">
<div class="block">Implements everything so far we have defined.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="Legacy">
<h3>Legacy</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></span>&nbsp;<span class="element-name">Legacy</span></div>
<div class="block">Implements <a href="AutoPlaceEnvironment.html#getChatter()"><code>AutoPlaceEnvironment.getChatter()</code></a>, <a href="AutoPlaceEnvironment.html#getActor()"><code>AutoPlaceEnvironment.getActor()</code></a> and <a href="AutoPlaceEnvironment.html#getSource()"><code>AutoPlaceEnvironment.getSource()</code></a>. <a href="AutoPlaceEnvironment.html#getActor()"><code>AutoPlaceEnvironment.getActor()</code></a> is
guaranteed to be an <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link"><code>EntityPlayerMP</code></a></div>
</div>
</section>
</li>
<li>
<section class="detail" id="LegacyRelaxed">
<h3>LegacyRelaxed</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></span>&nbsp;<span class="element-name">LegacyRelaxed</span></div>
<div class="block">Implements <a href="AutoPlaceEnvironment.html#getChatter()"><code>AutoPlaceEnvironment.getChatter()</code></a>, <a href="AutoPlaceEnvironment.html#getActor()"><code>AutoPlaceEnvironment.getActor()</code></a> and <a href="AutoPlaceEnvironment.html#getSource()"><code>AutoPlaceEnvironment.getSource()</code></a>. <a href="AutoPlaceEnvironment.html#getActor()"><code>AutoPlaceEnvironment.getActor()</code></a> is
<b>NOT</b> guaranteed to be an <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link"><code>EntityPlayerMP</code></a></div>
</div>
</section>
</li>
<li>
<section class="detail" id="V2">
<h3>V2</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></span>&nbsp;<span class="element-name">V2</span></div>
<div class="block">Implements everything so far we have defined.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,353 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>AutoPlaceEnvironment (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, class: AutoPlaceEnvironment">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="AutoPlaceEnvironment.html" class="current-selection">AutoPlaceEnvironment</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E(com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">AutoPlaceEnvironment(AutoPlaceEnvironment)</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#fromLegacy(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)" tabindex="0">fromLegacy(IItemSource, EntityPlayer, Consumer)</a></li>
<li><a href="#getAPILevel()" tabindex="0">getAPILevel()</a></li>
<li><a href="#getSource()" tabindex="0">getSource()</a></li>
<li><a href="#getActor()" tabindex="0">getActor()</a></li>
<li><a href="#getChatter()" tabindex="0">getChatter()</a></li>
<li><a href="#isContainedInPiece(int,int,int)" tabindex="0">isContainedInPiece(int, int, int)</a></li>
<li><a href="#getFacing()" tabindex="0">getFacing()</a></li>
<li><a href="#withSource(com.gtnewhorizon.structurelib.structure.IItemSource)" tabindex="0">withSource(IItemSource)</a></li>
<li><a href="#withActor(net.minecraft.entity.player.EntityPlayer)" tabindex="0">withActor(EntityPlayer)</a></li>
<li><a href="#withChatter(java.util.function.Consumer)" tabindex="0">withChatter(Consumer)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class AutoPlaceEnvironment" class="title">Class AutoPlaceEnvironment</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">AutoPlaceEnvironment</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">Represent the environment in which autoplace of a single element took place.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static enum&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="AutoPlaceEnvironment.APILevel.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></code></div>
<div class="col-last even-row-color">
<div class="block">Defines the various API level an <a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure"><code>AutoPlaceEnvironment</code></a> has implemented.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">AutoPlaceEnvironment</a><wbr>(<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;parent)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#fromLegacy(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)" class="member-name-link">fromLegacy</a><wbr>(<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getActor()" class="member-name-link">getActor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">The initiator of actions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAPILevel()" class="member-name-link">getAPILevel</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getChatter()" class="member-name-link">getChatter</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">send error messages here.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFacing()" class="member-name-link">getFacing</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSource()" class="member-name-link">getSource</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">From where survival autoplace will drain resources.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isContainedInPiece(int,int,int)" class="member-name-link">isContainedInPiece</a><wbr>(int&nbsp;offsetA,
int&nbsp;offsetB,
int&nbsp;offsetC)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Test if given location is contained within the current piece.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withActor(net.minecraft.entity.player.EntityPlayer)" class="member-name-link">withActor</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;actor)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return a new instance with actor modified to given value.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withChatter(java.util.function.Consumer)" class="member-name-link">withChatter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return a new instance with chatter modified to given value.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withSource(com.gtnewhorizon.structurelib.structure.IItemSource)" class="member-name-link">withSource</a><wbr>(<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return a new instance with source modified to given value.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3>AutoPlaceEnvironment</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">AutoPlaceEnvironment</span><wbr><span class="parameters">(<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;parent)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="fromLegacy(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)">
<h3>fromLegacy</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></span>&nbsp;<span class="element-name">fromLegacy</span><wbr><span class="parameters">(<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getAPILevel()">
<h3>getAPILevel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></span>&nbsp;<span class="element-name">getAPILevel</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getSource()">
<h3>getSource</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></span>&nbsp;<span class="element-name">getSource</span>()</div>
<div class="block">From where survival autoplace will drain resources.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getActor()">
<h3>getActor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a></span>&nbsp;<span class="element-name">getActor</span>()</div>
<div class="block">The initiator of actions. for very critical errors you can also just send the error messages here, bypassing any
filter that <a href="#getChatter()"><code>getChatter()</code></a> might have. You might want to use
<a href="../StructureLibAPI.html#addThrottledChat(java.lang.Object,net.minecraft.entity.player.EntityPlayer,net.minecraft.util.IChatComponent,short)"><code>StructureLibAPI.addThrottledChat(Object, EntityPlayer, IChatComponent, short)</code></a>
to help reduce spam.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getChatter()">
<h3>getChatter</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;</span>&nbsp;<span class="element-name">getChatter</span>()</div>
<div class="block">send error messages here. Caller will choose an appropriate way to forward it to player if the other fallbacks
also fails.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isContainedInPiece(int,int,int)">
<h3>isContainedInPiece</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isContainedInPiece</span><wbr><span class="parameters">(int&nbsp;offsetA,
int&nbsp;offsetB,
int&nbsp;offsetC)</span></div>
<div class="block">Test if given location is contained within the current piece.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>offsetA</code> - offset in A direction <b>relative to current element</b></dd>
<dd><code>offsetB</code> - offset in B direction <b>relative to current element</b></dd>
<dd><code>offsetC</code> - offset in C direction <b>relative to current element</b></dd>
<dt>Returns:</dt>
<dd>true if contained, false otherwise.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getFacing()">
<h3>getFacing</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></span>&nbsp;<span class="element-name">getFacing</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="withSource(com.gtnewhorizon.structurelib.structure.IItemSource)">
<h3>withSource</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></span>&nbsp;<span class="element-name">withSource</span><wbr><span class="parameters">(<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source)</span></div>
<div class="block">Return a new instance with source modified to given value.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>source</code> - new source</dd>
<dt>Returns:</dt>
<dd>new instance</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="withActor(net.minecraft.entity.player.EntityPlayer)">
<h3>withActor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></span>&nbsp;<span class="element-name">withActor</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;actor)</span></div>
<div class="block">Return a new instance with actor modified to given value.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>actor</code> - new actor</dd>
<dt>Returns:</dt>
<dd>new instance</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="withChatter(java.util.function.Consumer)">
<h3>withChatter</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></span>&nbsp;<span class="element-name">withChatter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</span></div>
<div class="block">Return a new instance with chatter modified to given value.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>chatter</code> - new chatter</dd>
<dt>Returns:</dt>
<dd>new instance</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,129 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IBlockPosConsumer (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IBlockPosConsumer">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IBlockPosConsumer.html" class="current-selection">IBlockPosConsumer</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#consume(net.minecraft.world.World,int,int,int)" tabindex="0">consume(World, int, int, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IBlockPosConsumer" class="title">Interface IBlockPosConsumer</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IBlockPosConsumer</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#consume(net.minecraft.world.World,int,int,int)" class="member-name-link">consume</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="consume(net.minecraft.world.World,int,int,int)">
<h3>consume</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">consume</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,264 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IChannelDefinition (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IChannelDefinition">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IChannelDefinition.html" class="current-selection">IChannelDefinition</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#bounded(java.lang.String,int,int)" tabindex="0">bounded(String, int, int)</a></li>
<li><a href="#unbounded(java.lang.String)" tabindex="0">unbounded(String)</a></li>
<li><a href="#getChannel()" tabindex="0">getChannel()</a></li>
<li><a href="#getMinimumValue()" tabindex="0">getMinimumValue()</a></li>
<li><a href="#getMaximumValue()" tabindex="0">getMaximumValue()</a></li>
<li><a href="#isValueValid(int)" tabindex="0">isValueValid(int)</a></li>
<li><a href="#normalizeValue(int)" tabindex="0">normalizeValue(int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IChannelDefinition" class="title">Interface IChannelDefinition</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IChannelDefinition</span></div>
<div class="block">Describes a channel used by one structure definition.
<p>
Channel values are integers stored on the constructable trigger item. Implementations may override the default
validation and normalization policy when a simple bounded range is not sufficient.
</p></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static <a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#bounded(java.lang.String,int,int)" class="member-name-link">bounded</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel,
int&nbsp;minimumValue,
int&nbsp;maximumValue)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">
<div class="block">Creates a channel with a bounded inclusive range and clamping normalization.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getChannel()" class="member-name-link">getChannel</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the lower-case channel identifier.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getMaximumValue()" class="member-name-link">getMaximumValue</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns the largest value advertised by this definition.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getMinimumValue()" class="member-name-link">getMinimumValue</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns the smallest value advertised by this definition.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isValueValid(int)" class="member-name-link">isValueValid</a><wbr>(int&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Checks whether a value is already valid without normalization.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#normalizeValue(int)" class="member-name-link">normalizeValue</a><wbr>(int&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Converts a stored value to the value used by the structure definition.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static <a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#unbounded(java.lang.String)" class="member-name-link">unbounded</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">
<div class="block">Creates a channel accepting every positive integer.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="bounded(java.lang.String,int,int)">
<h3>bounded</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></span>&nbsp;<span class="element-name">bounded</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel,
int&nbsp;minimumValue,
int&nbsp;maximumValue)</span></div>
<div class="block">Creates a channel with a bounded inclusive range and clamping normalization.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>channel</code> - channel identifier</dd>
<dd><code>minimumValue</code> - inclusive minimum value</dd>
<dd><code>maximumValue</code> - inclusive maximum value</dd>
<dt>Returns:</dt>
<dd>bounded channel definition</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="unbounded(java.lang.String)">
<h3>unbounded</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></span>&nbsp;<span class="element-name">unbounded</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Creates a channel accepting every positive integer.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>channel</code> - channel identifier</dd>
<dt>Returns:</dt>
<dd>unbounded channel definition</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannel()">
<h3>getChannel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getChannel</span>()</div>
<div class="block">Returns the lower-case channel identifier.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>channel identifier</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getMinimumValue()">
<h3>getMinimumValue</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMinimumValue</span>()</div>
<div class="block">Returns the smallest value advertised by this definition. The default is <code>1</code>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>minimum value</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getMaximumValue()">
<h3>getMaximumValue</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMaximumValue</span>()</div>
<div class="block">Returns the largest value advertised by this definition. The default is <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html#MAX_VALUE" title="class or interface in java.lang" class="external-link"><code>Integer.MAX_VALUE</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>maximum value</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="isValueValid(int)">
<h3>isValueValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isValueValid</span><wbr><span class="parameters">(int&nbsp;value)</span></div>
<div class="block">Checks whether a value is already valid without normalization.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - value to check</dd>
<dt>Returns:</dt>
<dd>true when the value is valid</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="normalizeValue(int)">
<h3>normalizeValue</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">normalizeValue</span><wbr><span class="parameters">(int&nbsp;value)</span></div>
<div class="block">Converts a stored value to the value used by the structure definition.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - stored value</dd>
<dt>Returns:</dt>
<dd>normalized value</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,144 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ICustomBlockSetting (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: ICustomBlockSetting">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="ICustomBlockSetting.html" class="current-selection">ICustomBlockSetting</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#setBlock(net.minecraft.world.World,int,int,int,int)" tabindex="0">setBlock(World, int, int, int, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface ICustomBlockSetting" class="title">Interface ICustomBlockSetting</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ICustomBlockSetting</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setBlock(net.minecraft.world.World,int,int,int,int)" class="member-name-link">setBlock</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;meta)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Default block setting calls <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html#setBlock-int-int-int-net.minecraft.block.Block-int-int-" title="class or interface in net.minecraft.world" class="external-link"><code>World.setBlock(int x, int y, int z, Block block, int meta, int updateType)</code></a>
like: <code>world.setBlock(x,y,z,this/block,meta,2)</code> where updateType 2 means to update lighting and stuff</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="setBlock(net.minecraft.world.World,int,int,int,int)">
<h3>setBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setBlock</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;meta)</span></div>
<div class="block">Default block setting calls <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html#setBlock-int-int-int-net.minecraft.block.Block-int-int-" title="class or interface in net.minecraft.world" class="external-link"><code>World.setBlock(int x, int y, int z, Block block, int meta, int updateType)</code></a>
like: <code>world.setBlock(x,y,z,this/block,meta,2)</code> where updateType 2 means to update lighting and stuff</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>world</code> - world that should be affected</dd>
<dd><code>x</code> - x position to set</dd>
<dd><code>y</code> - y position to set</dd>
<dd><code>z</code> - z position to set</dd>
<dd><code>meta</code> - required meta</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,292 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IItemSource (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IItemSource">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IItemSource.html" class="current-selection">IItemSource</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#take(java.util.function.Predicate,boolean,int)" tabindex="0">take(Predicate, boolean, int)</a></li>
<li><a href="#takeOne(java.util.function.Predicate,boolean)" tabindex="0">takeOne(Predicate, boolean)</a></li>
<li><a href="#takeAll(java.util.function.Predicate,boolean,int)" tabindex="0">takeAll(Predicate, boolean, int)</a></li>
<li><a href="#takeOne(net.minecraft.item.ItemStack,boolean)" tabindex="0">takeOne(ItemStack, boolean)</a></li>
<li><a href="#takeAll(net.minecraft.item.ItemStack,boolean)" tabindex="0">takeAll(ItemStack, boolean)</a></li>
<li><a href="#fromPlayer(net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">fromPlayer(EntityPlayerMP)</a></li>
<li><a href="#fromInventory(net.minecraft.inventory.IInventory)" tabindex="0">fromInventory(IInventory)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IItemSource" class="title">Interface IItemSource</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IItemSource</span></div>
<div class="block">Represent an item source. Take only, cannot be placed back.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#fromInventory(net.minecraft.inventory.IInventory)" class="member-name-link">fromInventory</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&nbsp;inv)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">
<div class="block">Construct an IItemSource from given inventory</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1"><code>static <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1"><code><a href="#fromPlayer(net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">fromPlayer</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1">
<div class="block">Construct an IItemSource from inventories associated with given player.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#take(java.util.function.Predicate,boolean,int)" class="member-name-link">take</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Retrieve some amount of items from this item source matching given filter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#takeAll(java.util.function.Predicate,boolean,int)" class="member-name-link">takeAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Take exactly count amount of items matching predicate.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#takeAll(net.minecraft.item.ItemStack,boolean)" class="member-name-link">takeAll</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stack,
boolean&nbsp;simulate)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Take some item.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#takeOne(java.util.function.Predicate,boolean)" class="member-name-link">takeOne</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Take exactly one item that matches the predicate.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#takeOne(net.minecraft.item.ItemStack,boolean)" class="member-name-link">takeOne</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stack,
boolean&nbsp;simulate)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Take exactly one item.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="take(java.util.function.Predicate,boolean,int)">
<h3>take</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nonnull
</span><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</span>&nbsp;<span class="element-name">take</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count)</span></div>
<div class="block">Retrieve some amount of items from this item source matching given filter.
<p>
We probably don't need to get a lot of items from this method, so I don't care about the overhead of storing all
fetched items even if downstream code doesn't need it</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>predicate</code> - filtering predicate. should return true for ItemStacks that should be added to result collection</dd>
<dd><code>simulate</code> - whether to actually commit the modification. true for dry run, false otherwise.</dd>
<dd><code>count</code> - how many items to extract.</dd>
<dt>Returns:</dt>
<dd>A nonnull map reflecting the result of extraction. Note this map is NBT and metadata aware.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="takeOne(java.util.function.Predicate,boolean)">
<h3>takeOne</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a></span>&nbsp;<span class="element-name">takeOne</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate)</span></div>
<div class="block">Take exactly one item that matches the predicate.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>predicate</code> - filtering predicate. should return true for ItemStacks that should be added to result collection</dd>
<dd><code>simulate</code> - whether to actually commit the modification. true for dry run, false otherwise.</dd>
<dt>Returns:</dt>
<dd>item stack, or null if none matches</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if given predicate is null.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="takeAll(java.util.function.Predicate,boolean,int)">
<h3>takeAll</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">takeAll</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count)</span></div>
<div class="block">Take exactly count amount of items matching predicate.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>predicate</code> - filtering predicate. should return true for ItemStacks that should be added to result collection</dd>
<dd><code>simulate</code> - whether to actually commit the modification. true for dry run, false otherwise.</dd>
<dd><code>count</code> - how many items to extract.</dd>
<dt>Returns:</dt>
<dd>true if at least count amount of items can be/is taken.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if given predicate is null</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="takeOne(net.minecraft.item.ItemStack,boolean)">
<h3>takeOne</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">takeOne</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stack,
boolean&nbsp;simulate)</span></div>
<div class="block">Take exactly one item. ItemStack given must have a stack size of 1.
<p>
This is meant to be an optimized version of <a href="#takeOne(java.util.function.Predicate,boolean)"><code>takeOne(Predicate, boolean)</code></a>. Implementations that support
item storage indexed by ItemStack can use this to speed up calculation.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stack</code> - what item to extract. The NBT tag of this ItemStack is siginifcant and will be considered during
matching. must have a stack size of 1.</dd>
<dd><code>simulate</code> - whether to actually commit the modification. true for dry run, false otherwise.</dd>
<dt>Returns:</dt>
<dd>true if found. false otherwise</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if given stack is invalid, or has a stack size other than 1.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="takeAll(net.minecraft.item.ItemStack,boolean)">
<h3>takeAll</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">takeAll</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stack,
boolean&nbsp;simulate)</span></div>
<div class="block">Take some item. Will not take item if it cannot find enough items to take.
<p>
This is meant to be an optimized version of <a href="#takeOne(java.util.function.Predicate,boolean)"><code>takeOne(Predicate, boolean)</code></a>. Implementations that support
indexing off ItemStack can use this to speed up calculation.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stack</code> - what item and how many to extract. The NBT tag of this ItemStack is siginifcant and will be
considered during matching</dd>
<dd><code>simulate</code> - whether to actually commit the modification. true for dry run, false otherwise.</dd>
<dt>Returns:</dt>
<dd>true if enough item can be/has been extracted. false otherwise</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if given stack is invalid</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="fromPlayer(net.minecraft.entity.player.EntityPlayerMP)">
<h3>fromPlayer</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></span>&nbsp;<span class="element-name">fromPlayer</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
<div class="block">Construct an IItemSource from inventories associated with given player.
<p>
This will be backed by <a href="../util/InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util"><code>InventoryUtility</code></a></div>
</div>
</section>
</li>
<li>
<section class="detail" id="fromInventory(net.minecraft.inventory.IInventory)">
<h3>fromInventory</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></span>&nbsp;<span class="element-name">fromInventory</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&nbsp;inv)</span></div>
<div class="block">Construct an IItemSource from given inventory
<p>
This will be backed by <a href="../util/InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util"><code>InventoryUtility</code></a></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,125 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ISpecialItemBlock (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: ISpecialItemBlock">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="ISpecialItemBlock.html" class="current-selection">ISpecialItemBlock</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getItemMetaFromBlockMeta(net.minecraft.block.Block,int)" tabindex="0">getItemMetaFromBlockMeta(Block, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface ISpecialItemBlock" class="title">Interface ISpecialItemBlock</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ISpecialItemBlock</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getItemMetaFromBlockMeta(net.minecraft.block.Block,int)" class="member-name-link">getItemMetaFromBlockMeta</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;blockMeta)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getItemMetaFromBlockMeta(net.minecraft.block.Block,int)">
<h3>getItemMetaFromBlockMeta</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getItemMetaFromBlockMeta</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;blockMeta)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,756 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureDefinition (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureDefinition">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureDefinition.html" class="current-selection">IStructureDefinition</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a>
<ol class="toc-list">
<li><a href="#cache-the-instances-of-this-class-heading" tabindex="0">Cache the instances of this class</a></li>
<li><a href="#constructing-heading" tabindex="0">Constructing</a></li>
<li><a href="#position-a-b-and-c-heading" tabindex="0">Position A, B and C</a></li>
</ol>
</li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getChannelDefinitions()" tabindex="0">getChannelDefinitions()</a></li>
<li><a href="#getExplicitChannelDefinitions()" tabindex="0">getExplicitChannelDefinitions()</a></li>
<li><a href="#getChannelDefinition(java.lang.String)" tabindex="0">getChannelDefinition(String)</a></li>
<li><a href="#getChannelData(net.minecraft.item.ItemStack,java.lang.String)" tabindex="0">getChannelData(ItemStack, String)</a></li>
<li><a href="#getStructureFor(java.lang.String)" tabindex="0">getStructureFor(String)</a></li>
<li><a href="#isContainedInStructure(java.lang.String,int,int,int)" tabindex="0">isContainedInStructure(String, int, int, int)</a></li>
<li><a href="#check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)" tabindex="0">check(T, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)</a></li>
<li><a href="#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)" tabindex="0">hints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</a></li>
<li><a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)" tabindex="0">build(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</a></li>
<li><a href="#buildOrHints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)" tabindex="0">buildOrHints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)</a></li>
<li><a href="#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)" tabindex="0">survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, IItemSource, EntityPlayerMP, boolean)</a></li>
<li><a href="#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)" tabindex="0">survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)</a></li>
<li><a href="#iterate(java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureWalker)" tabindex="0">iterate(String, World, ExtendedFacing, int, int, int, int, int, int, IStructureWalker)</a></li>
<li><a href="#iterate(T,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IStructureElement%5B%5D,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,java.lang.Boolean)" tabindex="0">iterate(T, ItemStack, IStructureElement[], World, ExtendedFacing, int, int, int, int, int, int, boolean, Boolean)</a></li>
<li><a href="#builder()" tabindex="0">builder()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureDefinition" class="title">Interface IStructureDefinition&lt;T&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><span id="type-param-T"><code>T</code> - Type of the context object. Usually this will be the multiblock controller.</span></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="StructureDefinition.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureDefinition&lt;T&gt;</span></div>
<div class="block">This is the structure definition of your multi. You will have one of these for each multi.
<h2 id="cache-the-instances-of-this-class-heading">Cache the instances of this class</h2>
<p>
You will construct this definition once per multi, either at class load or at first call to your variant of
<code>getStructureDefinition()</code>. You can use a <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/ClassValue.html" title="class or interface in java.lang" class="external-link"><code>ClassValue&lt;IStructureDefinition&lt;?&gt;&gt;</code></a> if you
have a template for subclass. You can also use <a href="StructureUtility.html#defer(java.util.function.Function)"><code>defer()</code></a> or its overloads for
simpler cases, but it is slightly less performant as it will allocate new objects on each structure check, whereas
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/ClassValue.html" title="class or interface in java.lang" class="external-link"><code>ClassValue</code></a> will allocate once and cache it onwards.
<p>
<h2 id="constructing-heading">Constructing</h2>
<p>
<a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a> is constructed using <a href="#builder()"><code>builder()</code></a>
<p>
Builder has two main methods:
<ul>
<li><a href="StructureDefinition.Builder.html#addShape(java.lang.String,java.lang.String%5B%5D%5B%5D)"><code>addShape()</code></a> is a 2d string array describing the layout of structure. You can optionally use
`StructureUtility#transpose()` to transpose the array to make the structure look nicer in source code.
<li><a href="StructureDefinition.Builder.html#addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)"><code>addElement()</code></a>. It takes a char identifier (mapped to a char in any of
<a href="StructureDefinition.Builder.html#addShape(java.lang.String,java.lang.String%5B%5D%5B%5D)"><code>addShape()</code></a>
calls) and a <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a>.
</ul>
<h2 id="position-a-b-and-c-heading">Position A, B and C</h2>
Imagine you stand in front of the controller, with controller facing towards you not rotated or flipped.
<ul>
<li>The "A" position would be the number of blocks on the left side of the controller, not counting controller
itself.</li>
<li>The "B" position would be the number of blocks on the top side of the controller, not counting controller
itself.</li>
<li>The "C" position would be the number of blocks between you and controller, not counting controller itself.</li>
</ul></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)" class="member-name-link">build</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Build the multi in creative mode on a best-effort basis.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1"><code>static &lt;T&gt;&nbsp;<a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1"><code><a href="#builder()" class="member-name-link">builder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1">
<div class="block">Create a new instance of builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#buildOrHints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)" class="member-name-link">buildOrHints</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
boolean&nbsp;hintsOnly)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Call <a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>build(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a> if
<code>hintsOnly</code>, call
<a href="#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>hints(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a> otherwise.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)" class="member-name-link">check</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
boolean&nbsp;forceCheckAllBlocks)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Run a structure check.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getChannelData(net.minecraft.item.ItemStack,java.lang.String)" class="member-name-link">getChannelData</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Reads one channel using the standard trigger-item channel semantics.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getChannelDefinition(java.lang.String)" class="member-name-link">getChannelDefinition</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Finds a channel definition by identifier.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getChannelDefinitions()" class="member-name-link">getChannelDefinitions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns channel definitions declared by this structure.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getExplicitChannelDefinitions()" class="member-name-link">getExplicitChannelDefinitions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns channel definitions explicitly added by the structure builder.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&gt;[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getStructureFor(java.lang.String)" class="member-name-link">getStructureFor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Used internally</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)" class="member-name-link">hints</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Spawn hint particles.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isContainedInStructure(java.lang.String,int,int,int)" class="member-name-link">isContainedInStructure</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
int&nbsp;offsetA,
int&nbsp;offsetB,
int&nbsp;offsetC)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#iterate(java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureWalker)" class="member-name-link">iterate</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&gt;&nbsp;predicate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static &lt;T&gt;&nbsp;boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#iterate(T,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IStructureElement%5B%5D,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,java.lang.Boolean)" class="member-name-link">iterate</a><wbr>(T&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;[]&nbsp;elements,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
boolean&nbsp;hintsOnly,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>&nbsp;checkBlocksIfNotNullForceCheckAllIfTrue)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">
<div class="block">Low level utility.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code><a href="#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)" class="member-name-link">survivalBuild</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
int&nbsp;elementBudget,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
boolean&nbsp;check)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)" class="member-name-link">survivalBuild</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
int&nbsp;elementBudget,
<a href="ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a>&nbsp;env,
boolean&nbsp;check)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Cause a survival build.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getChannelDefinitions()">
<h3>getChannelDefinitions</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</span>&nbsp;<span class="element-name">getChannelDefinitions</span>()</div>
<div class="block">Returns channel definitions declared by this structure.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an immutable or otherwise read-only channel collection</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getExplicitChannelDefinitions()">
<h3>getExplicitChannelDefinitions</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</span>&nbsp;<span class="element-name">getExplicitChannelDefinitions</span>()</div>
<div class="block">Returns channel definitions explicitly added by the structure builder.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>explicitly declared channel definitions</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannelDefinition(java.lang.String)">
<h3>getChannelDefinition</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></span>&nbsp;<span class="element-name">getChannelDefinition</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Finds a channel definition by identifier.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>channel</code> - channel identifier</dd>
<dt>Returns:</dt>
<dd>channel definition, or <code>null</code> when it is not declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannelData(net.minecraft.item.ItemStack,java.lang.String)">
<h3>getChannelData</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getChannelData</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block">Reads one channel using the standard trigger-item channel semantics.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item containing channel data</dd>
<dd><code>channel</code> - channel identifier</dd>
<dt>Returns:</dt>
<dd>stored channel data, or the trigger stack size when absent</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getStructureFor(java.lang.String)">
<h3>getStructureFor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&gt;[]</span>&nbsp;<span class="element-name">getStructureFor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Used internally
<p>
Might, but is not required, to throw <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/NoSuchElementException.html" title="class or interface in java.util" class="external-link"><code>NoSuchElementException</code></a> if the given structure piece is not
found.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - same name as for other methods here</dd>
<dt>Returns:</dt>
<dd>the array of elements to process</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/NoSuchElementException.html" title="class or interface in java.util" class="external-link">NoSuchElementException</a></code> - if the given structure piece is not found and the moon phase perfectly
matches</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="isContainedInStructure(java.lang.String,int,int,int)">
<h3>isContainedInStructure</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isContainedInStructure</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
int&nbsp;offsetA,
int&nbsp;offsetB,
int&nbsp;offsetC)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)">
<h3 id="check(java.lang.Object,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)">check</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">check</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
boolean&nbsp;forceCheckAllBlocks)</span></div>
<div class="block">Run a structure check.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>piece</code> - the structure piece's string identifier.</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dd><code>forceCheckAllBlocks</code> - check all location even if chunk not currently loaded.</dd>
<dt>Returns:</dt>
<dd>true if successful, false otherwise</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)">
<h3 id="hints(java.lang.Object,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)">hints</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hints</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC)</span></div>
<div class="block">Spawn hint particles. Should not be called on server side.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>piece</code> - the structure piece's string identifier.</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dt>Returns:</dt>
<dd>true if successful, false otherwise</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)">
<h3 id="build(java.lang.Object,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)">build</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">build</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC)</span></div>
<div class="block">Build the multi in creative mode on a best-effort basis. Does not guarantee the structure is correct after a
successful call.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>trigger</code> - The trigger item that contains channel data.</dd>
<dd><code>piece</code> - the structure piece's string identifier.</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dt>Returns:</dt>
<dd>true if sucessful, false otherwise</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="buildOrHints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)">
<h3 id="buildOrHints(java.lang.Object,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)">buildOrHints</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">buildOrHints</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
boolean&nbsp;hintsOnly)</span></div>
<div class="block">Call <a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>build(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a> if
<code>hintsOnly</code>, call
<a href="#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>hints(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a> otherwise.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>trigger</code> - The trigger item that contains channel data.</dd>
<dd><code>piece</code> - the structure piece's string identifier.</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dd><code>hintsOnly</code> - whether to spawn hints or do creative build.</dd>
<dt>Returns:</dt>
<dd>true if sucessful, false otherwise</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>hints(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a></li>
<li><a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>build(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)">
<h3 id="survivalBuild(java.lang.Object,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)">survivalBuild</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">survivalBuild</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
int&nbsp;elementBudget,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
boolean&nbsp;check)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Cause a survival build.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>trigger</code> - The trigger item that contains channel data.</dd>
<dd><code>piece</code> - the structure piece's string identifier.</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dd><code>elementBudget</code> - build up to this many elements</dd>
<dd><code>source</code> - from where to drain resource</dd>
<dd><code>actor</code> - source of action</dd>
<dd><code>check</code> - whether <a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> should be called if
anything would be placed. use with caution. if in doubt, call
<a href="#check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)"><code>check(Object, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)</code></a>
after this call and set this parameter to false</dd>
<dt>Returns:</dt>
<dd>number of elements built, or -1 if structure done</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>build(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)">
<h3 id="survivalBuild(java.lang.Object,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)">survivalBuild</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">survivalBuild</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
int&nbsp;elementBudget,
<a href="ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a>&nbsp;env,
boolean&nbsp;check)</span></div>
<div class="block">Cause a survival build.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>trigger</code> - The trigger item that contains channel data.</dd>
<dd><code>piece</code> - the structure piece's string identifier.</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dd><code>elementBudget</code> - build up to this many elements</dd>
<dd><code>env</code> - build environment.</dd>
<dd><code>check</code> - whether <a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> should be called if
anything would be placed. use with caution. if in doubt, call
<a href="#check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)"><code>check(Object, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)</code></a>
after this call and set this parameter to false</dd>
<dt>Returns:</dt>
<dd>number of elements built, or -1 if structure done</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>build(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)</code></a></li>
</ul>
</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="iterate(java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureWalker)">
<h3>iterate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">iterate</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;piece,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;<a href="#type-param-T" title="type parameter in IStructureDefinition">T</a>&gt;&nbsp;predicate)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="iterate(T,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IStructureElement[],net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,java.lang.Boolean)">
<h3 id="iterate(java.lang.Object,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IStructureElement[],net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,java.lang.Boolean)">iterate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">iterate</span><wbr><span class="parameters">(T&nbsp;object,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;[]&nbsp;elements,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
<a href="../alignment/enumerable/ExtendedFacing.html" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a>&nbsp;extendedFacing,
int&nbsp;basePositionX,
int&nbsp;basePositionY,
int&nbsp;basePositionZ,
int&nbsp;basePositionA,
int&nbsp;basePositionB,
int&nbsp;basePositionC,
boolean&nbsp;hintsOnly,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>&nbsp;checkBlocksIfNotNullForceCheckAllIfTrue)</span></div>
<div class="block">Low level utility.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><span id="iterate(T,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IStructureElement[],net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean,java.lang.Boolean)-type-param-T"><code>T</code> - type of context object.</span></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - context object. usually multiblock controller.</dd>
<dd><code>trigger</code> - The trigger item that contains channel data.</dd>
<dd><code>elements</code> - the structure piece</dd>
<dd><code>world</code> - the world object this check takes place in.</dd>
<dd><code>extendedFacing</code> - the current structure's orientation.</dd>
<dd><code>basePositionX</code> - X location of the structure</dd>
<dd><code>basePositionY</code> - Y location of the structure</dd>
<dd><code>basePositionZ</code> - Z location of the structure</dd>
<dd><code>basePositionA</code> - see class javadoc</dd>
<dd><code>basePositionB</code> - see class javadoc</dd>
<dd><code>basePositionC</code> - see class javadoc</dd>
<dd><code>hintsOnly</code> - whether to spawn hints or do creative build. no effect if
<code>checkBlocksIfNotNullForceCheckAllIfTrue</code> is not null.</dd>
<dd><code>checkBlocksIfNotNullForceCheckAllIfTrue</code> - creative build or spawn hints if null. Force check not loaded
chunk if true. Check only loaded chunk is false.</dd>
<dt>Returns:</dt>
<dd>true if iteration completed successfully.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="builder()">
<h3>builder</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;T&gt;</span>&nbsp;<span class="element-name">builder</span>()</div>
<div class="block">Create a new instance of builder.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><span id="builder()-type-param-T"><code>T</code> - type of context object</span></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,291 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElement.BlocksToPlace (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElement, class: BlocksToPlace">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElement.html">IStructureElement</a></li>
<li><a href="IStructureElement.BlocksToPlace.html" class="current-selection">BlocksToPlace</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#errored" tabindex="0">errored</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#createEmpty()" tabindex="0">createEmpty()</a></li>
<li><a href="#create(net.minecraft.item.ItemStack...)" tabindex="0">create(ItemStack...)</a></li>
<li><a href="#create(java.lang.Iterable)" tabindex="0">create(Iterable)</a></li>
<li><a href="#create(net.minecraft.block.Block,int)" tabindex="0">create(Block, int)</a></li>
<li><a href="#create(net.minecraft.item.Item,int)" tabindex="0">create(Item, int)</a></li>
<li><a href="#create(net.minecraft.item.ItemStack)" tabindex="0">create(ItemStack)</a></li>
<li><a href="#create(java.util.function.Predicate)" tabindex="0">create(Predicate)</a></li>
<li><a href="#getPredicate()" tabindex="0">getPredicate()</a></li>
<li><a href="#getStacks()" tabindex="0">getStacks()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class IStructureElement.BlocksToPlace" class="title">Class IStructureElement.BlocksToPlace</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.structure.IStructureElement.BlocksToPlace</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing interface:</dt>
<dd><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="IStructureElement.html#type-param-T" title="type parameter in IStructureElement">T</a>&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static final class </span><span class="element-name type-name-label">IStructureElement.BlocksToPlace</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second even-row-color"><code><a href="#errored" class="member-name-link">errored</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(java.lang.Iterable)" class="member-name-link">create</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;stacks)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(java.util.function.Predicate)" class="member-name-link">create</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(net.minecraft.block.Block,int)" class="member-name-link">create</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;meta)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(net.minecraft.item.Item,int)" class="member-name-link">create</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/Item.html" title="class or interface in net.minecraft.item" class="external-link">Item</a>&nbsp;item,
int&nbsp;meta)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(net.minecraft.item.ItemStack)" class="member-name-link">create</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(net.minecraft.item.ItemStack...)" class="member-name-link">create</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>...&nbsp;stacks)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createEmpty()" class="member-name-link">createEmpty</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPredicate()" class="member-name-link">getPredicate</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the blocks to place filter.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStacks()" class="member-name-link">getStacks</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the ItemStacks that this one is known to accept.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="errored">
<h3>errored</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">errored</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="createEmpty()">
<h3>createEmpty</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">createEmpty</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(net.minecraft.item.ItemStack...)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>...&nbsp;stacks)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(java.lang.Iterable)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;stacks)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(net.minecraft.block.Block,int)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;meta)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(net.minecraft.item.Item,int)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/Item.html" title="class or interface in net.minecraft.item" class="external-link">Item</a>&nbsp;item,
int&nbsp;meta)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(net.minecraft.item.ItemStack)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(java.util.function.Predicate)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getPredicate()">
<h3>getPredicate</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nonnull
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</span>&nbsp;<span class="element-name">getPredicate</span>()</div>
<div class="block">Get the blocks to place filter. This is usually slower as it requires walking through inventories one by one.
<p>
Suitable for use with <a href="IItemSource.html#takeOne(java.util.function.Predicate,boolean)"><code>IItemSource.takeOne(Predicate, boolean)</code></a></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a predicate. never null.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getStacks()">
<h3>getStacks</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</span>&nbsp;<span class="element-name">getStacks</span>()</div>
<div class="block">Get the ItemStacks that this one is known to accept. Can be null if this info is not available at the time
this instance is constructed.
<p>
Suitable for use with <a href="IItemSource.html#takeOne(net.minecraft.item.ItemStack,boolean)"><code>IItemSource.takeOne(ItemStack, boolean)</code></a>.
<p>
This should be equivalent to the predicate returned from <a href="#getPredicate()"><code>getPredicate()</code></a></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,306 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElement.PlaceResult (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElement, enum: PlaceResult">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElement.html">IStructureElement</a></li>
<li><a href="IStructureElement.PlaceResult.html" class="current-selection">PlaceResult</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#SKIP" tabindex="0">SKIP</a></li>
<li><a href="#REJECT" tabindex="0">REJECT</a></li>
<li><a href="#REJECT_CONTINUE" tabindex="0">REJECT_CONTINUE</a></li>
<li><a href="#STOP" tabindex="0">STOP</a></li>
<li><a href="#ACCEPT" tabindex="0">ACCEPT</a></li>
<li><a href="#ACCEPT_STOP" tabindex="0">ACCEPT_STOP</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class IStructureElement.PlaceResult" class="title">Enum Class IStructureElement.PlaceResult</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
</dl>
<dl class="notes">
<dt>Enclosing interface:</dt>
<dd><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="IStructureElement.html#type-param-T" title="type parameter in IStructureElement">T</a>&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static enum </span><span class="element-name type-name-label">IStructureElement.PlaceResult</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#ACCEPT" class="member-name-link">ACCEPT</a></code></div>
<div class="col-last even-row-color">
<div class="block">Element placed successfully.</div>
</div>
<div class="col-first odd-row-color"><code><a href="#ACCEPT_STOP" class="member-name-link">ACCEPT_STOP</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Combination of ACCEPT and STOP.</div>
</div>
<div class="col-first even-row-color"><code><a href="#REJECT" class="member-name-link">REJECT</a></code></div>
<div class="col-last even-row-color">
<div class="block">The element cannot handle this position (occupied, missing resources, etc.).</div>
</div>
<div class="col-first odd-row-color"><code><a href="#REJECT_CONTINUE" class="member-name-link">REJECT_CONTINUE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">This element has no survivalPlaceBlock implementation (default fallback), or otherwise cannot place but is
not an error condition.</div>
</div>
<div class="col-first even-row-color"><code><a href="#SKIP" class="member-name-link">SKIP</a></code></div>
<div class="col-last even-row-color">
<div class="block">The element's check passed, the position is already valid.</div>
</div>
<div class="col-first odd-row-color"><code><a href="#STOP" class="member-name-link">STOP</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Autoplace cannot proceed within this tick.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="SKIP">
<h3>SKIP</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">SKIP</span></div>
<div class="block">The element's check passed, the position is already valid. No placement is needed. In the walker: continue
iteration (no error, not counted as placed). In ofChain: short-circuits, remaining alternatives are skipped.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="REJECT">
<h3>REJECT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">REJECT</span></div>
<div class="block">The element cannot handle this position (occupied, missing resources, etc.). In the walker: stop iteration
with error particles. In ofChain: try next alternative.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="REJECT_CONTINUE">
<h3>REJECT_CONTINUE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">REJECT_CONTINUE</span></div>
<div class="block">This element has no survivalPlaceBlock implementation (default fallback), or otherwise cannot place but is
not an error condition. In the walker: continue iteration silently (like SKIP). In ofChain: try next
alternative (like REJECT), so a better-suited element can handle it.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="STOP">
<h3>STOP</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">STOP</span></div>
<div class="block">Autoplace cannot proceed within this tick. To proceed further would require stopping the placement and wait
for next round.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="ACCEPT">
<h3>ACCEPT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">ACCEPT</span></div>
<div class="block">Element placed successfully.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="ACCEPT_STOP">
<h3>ACCEPT_STOP</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">ACCEPT_STOP</span></div>
<div class="block">Combination of ACCEPT and STOP.
<p>
Element placed successfully. To proceed further would require stopping the placement and wait for next round.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,542 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElement (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElement">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElement.html" class="current-selection">IStructureElement</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#check(T,net.minecraft.world.World,int,int,int)" tabindex="0">check(T, World, int, int, int)</a></li>
<li><a href="#getChannels()" tabindex="0">getChannels()</a></li>
<li><a href="#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">couldBeValid(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#getDescription(T)" tabindex="0">getDescription(T)</a></li>
<li><a href="#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">spawnHint(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">placeBlock(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</a></li>
<li><a href="#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</a></li>
<li><a href="#noPlacement()" tabindex="0">noPlacement()</a></li>
<li><a href="#getStepA()" tabindex="0">getStepA()</a></li>
<li><a href="#getStepB()" tabindex="0">getStepB()</a></li>
<li><a href="#getStepC()" tabindex="0">getStepC()</a></li>
<li><a href="#resetA()" tabindex="0">resetA()</a></li>
<li><a href="#resetB()" tabindex="0">resetB()</a></li>
<li><a href="#resetC()" tabindex="0">resetC()</a></li>
<li><a href="#isNavigating()" tabindex="0">isNavigating()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureElement" class="title">Interface IStructureElement&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="IStructureElementChain.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementChain</a>&lt;T&gt;, <a href="IStructureElementCheckOnly.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementCheckOnly</a>&lt;T&gt;, <a href="IStructureElementDeferred.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementDeferred</a>&lt;T&gt;, <a href="IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureElement&lt;T&gt;</span></div>
<div class="block">Use StructureUtility to instantiate. These are the building blocks for your <a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureDefinition</code></a>. It
represents what a particular element can be and how this particular element should be autoplaced.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Interface</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="IStructureElement.BlocksToPlace.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static enum&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="IStructureElement.PlaceResult.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#check(T,net.minecraft.world.World,int,int,int)" class="member-name-link">check</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">couldBeValid</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Pure (stateless and side effect free) function to test if current block could be valid.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">getBlocksToPlace</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">A simplified version of survivalPlaceBlock.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getChannels()" class="member-name-link">getChannels</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns the channels used by this element.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getDescription(T)" class="member-name-link">getDescription</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;context)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns a human-readable description of what block(s) this element accepts.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getStepA()" class="member-name-link">getStepA</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getStepB()" class="member-name-link">getStepB</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getStepC()" class="member-name-link">getStepC</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isNavigating()" class="member-name-link">isNavigating</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a><wbr>&lt;<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#noPlacement()" class="member-name-link">noPlacement</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Forget the messed up class dependency graph for now.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">placeBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#resetA()" class="member-name-link">resetA</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#resetB()" class="member-name-link">resetB</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#resetC()" class="member-name-link">resetC</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">spawnHint</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">caller should call the non deprecated overload.</div>
</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="check(T,net.minecraft.world.World,int,int,int)">
<h3 id="check(java.lang.Object,net.minecraft.world.World,int,int,int)">check</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">check</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannels()">
<h3>getChannels</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getChannels</span>()</div>
<div class="block">Returns the channels used by this element.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>lower-case channel identifiers</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="couldBeValid(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">couldBeValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">couldBeValid</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<div class="block">Pure (stateless and side effect free) function to test if current block could be valid. Used to give user hints
about incorrectly placed blocks given a controller and trigger item. If couldBeValid(...) == false for a set of
channels, with those same tiers, check(...) == false. Not required, defaults to true which is always safe but
won't give the user error hints.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getDescription(T)">
<h3 id="getDescription(java.lang.Object)">getDescription</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getDescription</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;context)</span></div>
<div class="block">Returns a human-readable description of what block(s) this element accepts. Used for diagnostic messages when
structure checks fail (e.g. "expected Input Bus at (1, 2, 3)").
<p>
Unlike <a href="#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>, which returns the full set of concrete block variants for autoplacing (e.g.
every tier of Input Bus), this method returns <b>category-level</b> descriptions suitable for display to the
player (e.g. just "Input Bus"). It also requires no parameters, no world, trigger item, or environment, making it
usable in contexts where those are unavailable.
<p>
Implementations should return <b>lang keys</b> (e.g. <code>"tile.blockGlass.name"</code>) rather than pre-translated
display names. The caller is responsible for translating these keys on the client side via
<code>StatCollector.translateToLocal()</code>. If a key has no matching translation, <code>translateToLocal</code> returns
the input string unchanged, so pre-translated fallback strings also work.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>context</code> - the context object (e.g. the multiblock controller), used to determine state-dependent
descriptions</dd>
<dt>Returns:</dt>
<dd>a list of accepted block descriptions as lang keys (or display names as fallback), or null if no
description is available</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="spawnHint(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">spawnHint</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">spawnHint</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="placeBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">placeBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">caller should call the non deprecated overload. implementor for reusable <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a>
should still implement this. implementor for private implementations can freely ignore this as long
as you know the caller will not call this overload.</div>
</div>
<div class="block">Try place the block by taking resource from given IItemSource.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>s</code> - drain resources from this place</dd>
<dd><code>actor</code> - source of action. for very critical errors you can also just send the error messages here,
bypassing any filter that chatter might have.</dd>
<dd><code>chatter</code> - send error messages here. Caller will choose an appropriate way to forward it to player if the
other fallbacks also fails.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3 id="getBlocksToPlace(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">getBlocksToPlace</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">getBlocksToPlace</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</span></div>
<div class="block">A simplified version of survivalPlaceBlock. Return null if not implemented.
<p>
<b>BY OVERRIDING THIS TO NULL, YOU ACKNOWLEDGE THAT THE <a href="#check(T,net.minecraft.world.World,int,int,int)"><code>check(Object, World, int, int, int)</code></a> OF THIS
CLASS IS SIDE EFFECT FREE AND CAN HAVE ITS CHECK CALLED WITHOUT BREAKING ANYTHING. OTHERWISE OVERRIDE THE
<a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a> TO PROVIDE A
SIDEEFFECT FREE <a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a>.</b>
<p>
It should be noticed that this filter is only advisory and the actual
<a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a> or
<a href="#check(T,net.minecraft.world.World,int,int,int)"><code>check(Object, World, int, int, int)</code></a> are free to reject/accept/place blocks not contained in this list,
e.g. when the element can be placed anywhere in the structure, but no more than 3 overall; when the structure
element cannot know all blocks it will accept at the time of calling; when this is backed by a legacy
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a> that just didn't implement this API.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>env</code> - autoplacing environment</dd>
<dt>Returns:</dt>
<dd>null if not implemented, otherwise an instance describing what kind of blocks will be placed by
<a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</span></div>
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.
<p>
The default implementation provided will
<ol>
<li>Get <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> via
<a href="#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>getBlocksToPlace(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>. If not null
<ol>
<li>call <a href="#check(T,net.minecraft.world.World,int,int,int)"><code>check(Object, World, int, int, int)</code></a>. If this returns <code>true</code>, <a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a>
will be returned without further action.</li>
<li>Use the <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> retrieved earlier and passed in <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a> to determine an item to
place</li>
<li>Hand over control to
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)"><code>StructureUtility.survivalPlaceBlock(ItemStack, NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer, Consumer)</code></a></li>
</ol>
</li>
<li>Call legacy
<a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"><code>survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</code></a> if
<code>env.getActor()</code> contains an <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link"><code>EntityPlayerMP</code></a></li>
<li>Emit warning under debug mode (or throw exception under panic mode), then return
<a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a></li>
</ol>
It should be noticed that the default implementation is likely to cause unexpected issues if the
<a href="#check(T,net.minecraft.world.World,int,int,int)"><code>check(Object, World, int, int, int)</code></a> is not side effect free, or is not idempotent. E.g. the
<a href="#check(T,net.minecraft.world.World,int,int,int)"><code>check(Object, World, int, int, int)</code></a> will add current coord to a <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a>. As this method
might be invoked at a location that is already accepted, this will cause the machine to have multiple of this
coord in its list.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>env</code> - autoplacing environment</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="noPlacement()">
<h3>noPlacement</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElement">T</a>&gt;</span>&nbsp;<span class="element-name">noPlacement</span>()</div>
<div class="block">Forget the messed up class dependency graph for now. this is just so convenient.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStepA()">
<h3>getStepA</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getStepA</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStepB()">
<h3>getStepB</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getStepB</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStepC()">
<h3>getStepC</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getStepC</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="resetA()">
<h3>resetA</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">resetA</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="resetB()">
<h3>resetB</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">resetB</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="resetC()">
<h3>resetC</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">resetC</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isNavigating()">
<h3>isNavigating</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isNavigating</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,451 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElementChain (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElementChain">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElementChain.html" class="current-selection">IStructureElementChain</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#fallbacks()" tabindex="0">fallbacks()</a></li>
<li><a href="#check(T,net.minecraft.world.World,int,int,int)" tabindex="0">check(T, World, int, int, int)</a></li>
<li><a href="#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">couldBeValid(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">spawnHint(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">placeBlock(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#getDescription(T)" tabindex="0">getDescription(T)</a></li>
<li><a href="#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureElementChain" class="title">Interface IStructureElementChain&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureElementChain&lt;T&gt;</span><span class="extends-implements">
extends <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</span></div>
<div class="block">Use StructureUtility to instantiate</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Nested classes/interfaces inherited from interface&nbsp;<a href="IStructureElement.html#nested-class-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a>, <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#check(T,net.minecraft.world.World,int,int,int)" class="member-name-link">check</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">couldBeValid</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Pure (stateless and side effect free) function to test if current block could be valid.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#fallbacks()" class="member-name-link">fallbacks</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">getBlocksToPlace</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">A simplified version of survivalPlaceBlock.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getDescription(T)" class="member-name-link">getDescription</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;context)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Returns a human-readable description of what block(s) this element accepts.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">placeBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">spawnHint</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given IItemSource.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Methods inherited from interface&nbsp;<a href="IStructureElement.html#method-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.html#getChannels()" title="getChannels()">getChannels</a>, <a href="IStructureElement.html#getStepA()" title="getStepA()">getStepA</a>, <a href="IStructureElement.html#getStepB()" title="getStepB()">getStepB</a>, <a href="IStructureElement.html#getStepC()" title="getStepC()">getStepC</a>, <a href="IStructureElement.html#isNavigating()" title="isNavigating()">isNavigating</a>, <a href="IStructureElement.html#noPlacement()" title="noPlacement()">noPlacement</a>, <a href="IStructureElement.html#resetA()" title="resetA()">resetA</a>, <a href="IStructureElement.html#resetB()" title="resetB()">resetB</a>, <a href="IStructureElement.html#resetC()" title="resetC()">resetC</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="fallbacks()">
<h3>fallbacks</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;[]</span>&nbsp;<span class="element-name">fallbacks</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="check(T,net.minecraft.world.World,int,int,int)">
<h3 id="check(java.lang.Object,net.minecraft.world.World,int,int,int)">check</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">check</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)">check</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="couldBeValid(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">couldBeValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">couldBeValid</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">IStructureElement</a></code></span></div>
<div class="block">Pure (stateless and side effect free) function to test if current block could be valid. Used to give user hints
about incorrectly placed blocks given a controller and trigger item. If couldBeValid(...) == false for a set of
channels, with those same tiers, check(...) == false. Not required, defaults to true which is always safe but
won't give the user error hints.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">couldBeValid</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="spawnHint(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">spawnHint</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">spawnHint</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">spawnHint</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="placeBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">placeBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getDescription(T)">
<h3 id="getDescription(java.lang.Object)">getDescription</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getDescription</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;context)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#getDescription(T)">IStructureElement</a></code></span></div>
<div class="block">Returns a human-readable description of what block(s) this element accepts. Used for diagnostic messages when
structure checks fail (e.g. "expected Input Bus at (1, 2, 3)").
<p>
Unlike <a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>, which returns the full set of concrete block variants for autoplacing (e.g.
every tier of Input Bus), this method returns <b>category-level</b> descriptions suitable for display to the
player (e.g. just "Input Bus"). It also requires no parameters, no world, trigger item, or environment, making it
usable in contexts where those are unavailable.
<p>
Implementations should return <b>lang keys</b> (e.g. <code>"tile.blockGlass.name"</code>) rather than pre-translated
display names. The caller is responsible for translating these keys on the client side via
<code>StatCollector.translateToLocal()</code>. If a key has no matching translation, <code>translateToLocal</code> returns
the input string unchanged, so pre-translated fallback strings also work.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#getDescription(T)">getDescription</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>context</code> - the context object (e.g. the multiblock controller), used to determine state-dependent
descriptions</dd>
<dt>Returns:</dt>
<dd>a list of accepted block descriptions as lang keys (or display names as fallback), or null if no
description is available</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3 id="getBlocksToPlace(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">getBlocksToPlace</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations">@Nullable
</span><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></span>&nbsp;<span class="element-name">getBlocksToPlace</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">IStructureElement</a></code></span></div>
<div class="block">A simplified version of survivalPlaceBlock. Return null if not implemented.
<p>
<b>BY OVERRIDING THIS TO NULL, YOU ACKNOWLEDGE THAT THE <a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> OF THIS
CLASS IS SIDE EFFECT FREE AND CAN HAVE ITS CHECK CALLED WITHOUT BREAKING ANYTHING. OTHERWISE OVERRIDE THE
<a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a> TO PROVIDE A
SIDEEFFECT FREE <a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a>.</b>
<p>
It should be noticed that this filter is only advisory and the actual
<a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a> or
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> are free to reject/accept/place blocks not contained in this list,
e.g. when the element can be placed anywhere in the structure, but no more than 3 overall; when the structure
element cannot know all blocks it will accept at the time of calling; when this is backed by a legacy
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a> that just didn't implement this API.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">getBlocksToPlace</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>env</code> - autoplacing environment</dd>
<dt>Returns:</dt>
<dd>null if not implemented, otherwise an instance describing what kind of blocks will be placed by
<a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">IStructureElement</a></code></span></div>
<div class="block">Try place the block by taking resource from given IItemSource.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>s</code> - drain resources from this place</dd>
<dd><code>actor</code> - source of action. for very critical errors you can also just send the error messages here,
bypassing any filter that chatter might have.</dd>
<dd><code>chatter</code> - send error messages here. Caller will choose an appropriate way to forward it to player if the
other fallbacks also fails.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">IStructureElement</a></code></span></div>
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.
<p>
The default implementation provided will
<ol>
<li>Get <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> via
<a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.getBlocksToPlace(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>. If not null
<ol>
<li>call <a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a>. If this returns <code>true</code>, <a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a>
will be returned without further action.</li>
<li>Use the <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> retrieved earlier and passed in <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a> to determine an item to
place</li>
<li>Hand over control to
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)"><code>StructureUtility.survivalPlaceBlock(ItemStack, NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer, Consumer)</code></a></li>
</ol>
</li>
<li>Call legacy
<a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</code></a> if
<code>env.getActor()</code> contains an <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link"><code>EntityPlayerMP</code></a></li>
<li>Emit warning under debug mode (or throw exception under panic mode), then return
<a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a></li>
</ol>
It should be noticed that the default implementation is likely to cause unexpected issues if the
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> is not side effect free, or is not idempotent. E.g. the
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> will add current coord to a <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a>. As this method
might be invoked at a location that is already accepted, this will cause the machine to have multiple of this
coord in its list.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementChain">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>env</code> - autoplacing environment</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,325 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElementCheckOnly (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElementCheckOnly">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElementCheckOnly.html" class="current-selection">IStructureElementCheckOnly</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">placeBlock(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">couldBeValid(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">spawnHint(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureElementCheckOnly" class="title">Interface IStructureElementCheckOnly&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureElementCheckOnly&lt;T&gt;</span><span class="extends-implements">
extends <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Nested classes/interfaces inherited from interface&nbsp;<a href="IStructureElement.html#nested-class-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a>, <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">couldBeValid</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Pure (stateless and side effect free) function to test if current block could be valid.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">placeBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">spawnHint</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given IItemSource.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Methods inherited from interface&nbsp;<a href="IStructureElement.html#method-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)" title="check(T, World, int, int, int)">check</a>, <a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" title="getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)">getBlocksToPlace</a>, <a href="IStructureElement.html#getChannels()" title="getChannels()">getChannels</a>, <a href="IStructureElement.html#getDescription(T)" title="getDescription(T)">getDescription</a>, <a href="IStructureElement.html#getStepA()" title="getStepA()">getStepA</a>, <a href="IStructureElement.html#getStepB()" title="getStepB()">getStepB</a>, <a href="IStructureElement.html#getStepC()" title="getStepC()">getStepC</a>, <a href="IStructureElement.html#isNavigating()" title="isNavigating()">isNavigating</a>, <a href="IStructureElement.html#noPlacement()" title="noPlacement()">noPlacement</a>, <a href="IStructureElement.html#resetA()" title="resetA()">resetA</a>, <a href="IStructureElement.html#resetB()" title="resetB()">resetB</a>, <a href="IStructureElement.html#resetC()" title="resetC()">resetC</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="placeBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">placeBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="couldBeValid(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">couldBeValid</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">couldBeValid</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">IStructureElement</a></code></span></div>
<div class="block">Pure (stateless and side effect free) function to test if current block could be valid. Used to give user hints
about incorrectly placed blocks given a controller and trigger item. If couldBeValid(...) == false for a set of
channels, with those same tiers, check(...) == false. Not required, defaults to true which is always safe but
won't give the user error hints.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">couldBeValid</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="spawnHint(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">spawnHint</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">spawnHint</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">spawnHint</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">IStructureElement</a></code></span></div>
<div class="block">Try place the block by taking resource from given IItemSource.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>s</code> - drain resources from this place</dd>
<dd><code>actor</code> - source of action. for very critical errors you can also just send the error messages here,
bypassing any filter that chatter might have.</dd>
<dd><code>chatter</code> - send error messages here. Caller will choose an appropriate way to forward it to player if the
other fallbacks also fails.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">IStructureElement</a></code></span></div>
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.
<p>
The default implementation provided will
<ol>
<li>Get <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> via
<a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.getBlocksToPlace(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>. If not null
<ol>
<li>call <a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a>. If this returns <code>true</code>, <a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a>
will be returned without further action.</li>
<li>Use the <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> retrieved earlier and passed in <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a> to determine an item to
place</li>
<li>Hand over control to
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)"><code>StructureUtility.survivalPlaceBlock(ItemStack, NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer, Consumer)</code></a></li>
</ol>
</li>
<li>Call legacy
<a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</code></a> if
<code>env.getActor()</code> contains an <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link"><code>EntityPlayerMP</code></a></li>
<li>Emit warning under debug mode (or throw exception under panic mode), then return
<a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a></li>
</ol>
It should be noticed that the default implementation is likely to cause unexpected issues if the
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> is not side effect free, or is not idempotent. E.g. the
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> will add current coord to a <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a>. As this method
might be invoked at a location that is already accepted, this will cause the machine to have multiple of this
coord in its list.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementCheckOnly">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>env</code> - autoplacing environment</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,104 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElementDeferred (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElementDeferred">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElementDeferred.html" class="current-selection">IStructureElementDeferred</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureElementDeferred" class="title">Interface IStructureElementDeferred&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureElementDeferred&lt;T&gt;</span><span class="extends-implements">
extends <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</span></div>
<div class="block">Use StructureUtility to instantiate</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Nested classes/interfaces inherited from interface&nbsp;<a href="IStructureElement.html#nested-class-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a>, <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Methods inherited from interface&nbsp;<a href="IStructureElement.html#method-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)" title="check(T, World, int, int, int)">check</a>, <a href="IStructureElement.html#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" title="couldBeValid(T, World, int, int, int, ItemStack)">couldBeValid</a>, <a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" title="getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)">getBlocksToPlace</a>, <a href="IStructureElement.html#getChannels()" title="getChannels()">getChannels</a>, <a href="IStructureElement.html#getDescription(T)" title="getDescription(T)">getDescription</a>, <a href="IStructureElement.html#getStepA()" title="getStepA()">getStepA</a>, <a href="IStructureElement.html#getStepB()" title="getStepB()">getStepB</a>, <a href="IStructureElement.html#getStepC()" title="getStepC()">getStepC</a>, <a href="IStructureElement.html#isNavigating()" title="isNavigating()">isNavigating</a>, <a href="IStructureElement.html#noPlacement()" title="noPlacement()">noPlacement</a>, <a href="IStructureElement.html#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" title="placeBlock(T, World, int, int, int, ItemStack)">placeBlock</a>, <a href="IStructureElement.html#resetA()" title="resetA()">resetA</a>, <a href="IStructureElement.html#resetB()" title="resetB()">resetB</a>, <a href="IStructureElement.html#resetC()" title="resetC()">resetC</a>, <a href="IStructureElement.html#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" title="spawnHint(T, World, int, int, int, ItemStack)">spawnHint</a>, <a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" title="survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)">survivalPlaceBlock</a>, <a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" title="survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)">survivalPlaceBlock</a></code></div>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,286 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureElementNoPlacement (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureElementNoPlacement">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureElementNoPlacement.html" class="current-selection">IStructureElementNoPlacement</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" tabindex="0">placeBlock(T, World, int, int, int, ItemStack)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</a></li>
<li><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" tabindex="0">survivalPlaceBlock(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)</a></li>
<li><a href="#noPlacement()" tabindex="0">noPlacement()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureElementNoPlacement" class="title">Interface IStructureElementNoPlacement&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureElementNoPlacement&lt;T&gt;</span><span class="extends-implements">
extends <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Nested classes/interfaces inherited from interface&nbsp;<a href="IStructureElement.html#nested-class-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a>, <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a><wbr>&lt;<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#noPlacement()" class="member-name-link">noPlacement</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Forget the messed up class dependency graph for now.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" class="member-name-link">placeBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)" class="member-name-link">survivalPlaceBlock</a><wbr>(<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Try place the block by taking resource from given IItemSource.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureElement">Methods inherited from interface&nbsp;<a href="IStructureElement.html#method-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a></h3>
<code><a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)" title="check(T, World, int, int, int)">check</a>, <a href="IStructureElement.html#couldBeValid(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" title="couldBeValid(T, World, int, int, int, ItemStack)">couldBeValid</a>, <a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)" title="getBlocksToPlace(T, World, int, int, int, ItemStack, AutoPlaceEnvironment)">getBlocksToPlace</a>, <a href="IStructureElement.html#getChannels()" title="getChannels()">getChannels</a>, <a href="IStructureElement.html#getDescription(T)" title="getDescription(T)">getDescription</a>, <a href="IStructureElement.html#getStepA()" title="getStepA()">getStepA</a>, <a href="IStructureElement.html#getStepB()" title="getStepB()">getStepB</a>, <a href="IStructureElement.html#getStepC()" title="getStepC()">getStepC</a>, <a href="IStructureElement.html#isNavigating()" title="isNavigating()">isNavigating</a>, <a href="IStructureElement.html#resetA()" title="resetA()">resetA</a>, <a href="IStructureElement.html#resetB()" title="resetB()">resetB</a>, <a href="IStructureElement.html#resetC()" title="resetC()">resetC</a>, <a href="IStructureElement.html#spawnHint(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)" title="spawnHint(T, World, int, int, int, ItemStack)">spawnHint</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">
<h3 id="placeBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">placeBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#placeBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack)">placeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;s,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;actor,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/util/IChatComponent.html" title="class or interface in net.minecraft.util" class="external-link">IChatComponent</a>&gt;&nbsp;chatter)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">IStructureElement</a></code></span></div>
<div class="block">Try place the block by taking resource from given IItemSource.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">survivalPlaceBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>s</code> - drain resources from this place</dd>
<dd><code>actor</code> - source of action. for very critical errors you can also just send the error messages here,
bypassing any filter that chatter might have.</dd>
<dd><code>chatter</code> - send error messages here. Caller will choose an appropriate way to forward it to player if the
other fallbacks also fails.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">
<h3 id="survivalPlaceBlock(java.lang.Object,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></span>&nbsp;<span class="element-name">survivalPlaceBlock</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;trigger,
<a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a>&nbsp;env)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">IStructureElement</a></code></span></div>
<div class="block">Try place the block by taking resource from given <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.
<p>
You might want to use
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.block.Block,int,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)"><code>StructureUtility.survivalPlaceBlock(Block, int, World, int, int, int, IItemSource, net.minecraft.entity.player.EntityPlayer)</code></a>
or its overloads to implement this.
<p>
The default implementation provided will
<ol>
<li>Get <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> via
<a href="IStructureElement.html#getBlocksToPlace(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)"><code>IStructureElement.getBlocksToPlace(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)</code></a>. If not null
<ol>
<li>call <a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a>. If this returns <code>true</code>, <a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a>
will be returned without further action.</li>
<li>Use the <a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure"><code>IStructureElement.BlocksToPlace</code></a> retrieved earlier and passed in <a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a> to determine an item to
place</li>
<li>Hand over control to
<a href="StructureUtility.html#survivalPlaceBlock(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound,boolean,net.minecraft.world.World,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer,java.util.function.Consumer)"><code>StructureUtility.survivalPlaceBlock(ItemStack, NBTMode, NBTTagCompound, boolean, World, int, int, int, IItemSource, EntityPlayer, Consumer)</code></a></li>
</ol>
</li>
<li>Call legacy
<a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)"><code>IStructureElement.survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer)</code></a> if
<code>env.getActor()</code> contains an <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link"><code>EntityPlayerMP</code></a></li>
<li>Emit warning under debug mode (or throw exception under panic mode), then return
<a href="IStructureElement.PlaceResult.html#SKIP"><code>IStructureElement.PlaceResult.SKIP</code></a></li>
</ol>
It should be noticed that the default implementation is likely to cause unexpected issues if the
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> is not side effect free, or is not idempotent. E.g. the
<a href="IStructureElement.html#check(T,net.minecraft.world.World,int,int,int)"><code>IStructureElement.check(Object, World, int, int, int)</code></a> will add current coord to a <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a>. As this method
might be invoked at a location that is already accepted, this will cause the machine to have multiple of this
coord in its list.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)">survivalPlaceBlock</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>trigger</code> - trigger item</dd>
<dd><code>env</code> - autoplacing environment</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="noPlacement()">
<h3>noPlacement</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&gt;</span>&nbsp;<span class="element-name">noPlacement</span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureElement.html#noPlacement()">IStructureElement</a></code></span></div>
<div class="block">Forget the messed up class dependency graph for now. this is just so convenient.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureElement.html#noPlacement()">noPlacement</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureElementNoPlacement">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,209 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IStructureWalker (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IStructureWalker">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IStructureWalker.html" class="current-selection">IStructureWalker</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#visit(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)" tabindex="0">visit(IStructureElement, World, int, int, int, int, int, int)</a></li>
<li><a href="#blockNotLoaded(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)" tabindex="0">blockNotLoaded(IStructureElement, World, int, int, int, int, int, int)</a></li>
<li><a href="#ignoreBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)" tabindex="0">ignoreBlockUnloaded(IStructureWalker)</a></li>
<li><a href="#skipBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)" tabindex="0">skipBlockUnloaded(IStructureWalker)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IStructureWalker" class="title">Interface IStructureWalker&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Functional Interface:</dt>
<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/FunctionalInterface.html" title="class or interface in java.lang" class="external-link">@FunctionalInterface</a>
</span><span class="modifiers">public interface </span><span class="element-name type-name-label">IStructureWalker&lt;T&gt;</span></div>
<div class="block">A functional interface that is used to iterate over an arbitrary structure.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#blockNotLoaded(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)" class="member-name-link">blockNotLoaded</a><wbr>(<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureWalker">T</a>&gt;&nbsp;element,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;a,
int&nbsp;b,
int&nbsp;c)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1"><code>static &lt;T&gt;&nbsp;<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a><wbr>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1"><code><a href="#ignoreBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)" class="member-name-link">ignoreBlockUnloaded</a><wbr>(<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;&nbsp;walker)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static &lt;T&gt;&nbsp;<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a><wbr>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#skipBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)" class="member-name-link">skipBlockUnloaded</a><wbr>(<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;&nbsp;walker)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#visit(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)" class="member-name-link">visit</a><wbr>(<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureWalker">T</a>&gt;&nbsp;element,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;a,
int&nbsp;b,
int&nbsp;c)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Called once per structure element.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="visit(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)">
<h3>visit</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">visit</span><wbr><span class="parameters">(<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureWalker">T</a>&gt;&nbsp;element,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;a,
int&nbsp;b,
int&nbsp;c)</span></div>
<div class="block">Called once per structure element.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>element</code> - The current element</dd>
<dd><code>world</code> - The current world</dd>
<dd><code>x</code> - The absolute X position of the element in world coordinates</dd>
<dd><code>y</code> - The absolute Y position of the element in world coordinates</dd>
<dd><code>z</code> - The absolute Z position of the element in world coordinates</dd>
<dd><code>a</code> - The relative A position of the element in structure-local coordinates (pre transform)</dd>
<dd><code>b</code> - The relative B position of the element in structure-local coordinates (pre transform)</dd>
<dd><code>c</code> - The relative C position of the element in structure-local coordinates (pre transform)</dd>
<dt>Returns:</dt>
<dd>False to stop iterating, true to continue.</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="blockNotLoaded(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)">
<h3>blockNotLoaded</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">blockNotLoaded</span><wbr><span class="parameters">(<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in IStructureWalker">T</a>&gt;&nbsp;element,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/world/World.html" title="class or interface in net.minecraft.world" class="external-link">World</a>&nbsp;world,
int&nbsp;x,
int&nbsp;y,
int&nbsp;z,
int&nbsp;a,
int&nbsp;b,
int&nbsp;c)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="ignoreBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)">
<h3>ignoreBlockUnloaded</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;</span>&nbsp;<span class="element-name">ignoreBlockUnloaded</span><wbr><span class="parameters">(<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;&nbsp;walker)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="skipBlockUnloaded(com.gtnewhorizon.structurelib.structure.IStructureWalker)">
<h3>skipBlockUnloaded</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;</span>&nbsp;<span class="element-name">skipBlockUnloaded</span><wbr><span class="parameters">(<a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;&nbsp;walker)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,169 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ISurvivalBuildEnvironment (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: ISurvivalBuildEnvironment">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="ISurvivalBuildEnvironment.html" class="current-selection">ISurvivalBuildEnvironment</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getSource()" tabindex="0">getSource()</a></li>
<li><a href="#getActor()" tabindex="0">getActor()</a></li>
<li><a href="#create(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)" tabindex="0">create(IItemSource, EntityPlayer)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface ISurvivalBuildEnvironment" class="title">Interface ISurvivalBuildEnvironment</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ISurvivalBuildEnvironment</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static <a href="ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#create(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)" class="member-name-link">create</a><wbr>(<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;actor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">
<div class="block">Create a default implementation with three parameters all being constants.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getActor()" class="member-name-link">getActor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the origin of action.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSource()" class="member-name-link">getSource</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the source of the items.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getSource()">
<h3>getSource</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></span>&nbsp;<span class="element-name">getSource</span>()</div>
<div class="block">Get the source of the items. This will be invoked exactly once per structure element build.
<p>
If the call chain ever got into the old API, this will be called at least once per
<a href="IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)"><code>IStructureDefinition.survivalBuild(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)</code></a>
call.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getActor()">
<h3>getActor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a></span>&nbsp;<span class="element-name">getActor</span>()</div>
<div class="block">Get the origin of action. This will be invoked at least once per
<a href="IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)"><code>IStructureDefinition.survivalBuild(Object, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)</code></a>
call.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="create(com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayer)">
<h3>create</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayer.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayer</a>&nbsp;actor)</span></div>
<div class="block">Create a default implementation with three parameters all being constants.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>source</code> - from where to drain resource</dd>
<dd><code>actor</code> - source of action</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,135 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ITierConverter (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: ITierConverter">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="ITierConverter.html" class="current-selection">ITierConverter</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#convert(net.minecraft.block.Block,int)" tabindex="0">convert(Block, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface ITierConverter" class="title">Interface ITierConverter&lt;TIER&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><span id="type-param-TIER"><code>TIER</code> - </span></dd>
</dl>
<dl class="notes">
<dt>Functional Interface:</dt>
<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/FunctionalInterface.html" title="class or interface in java.lang" class="external-link">@FunctionalInterface</a>
</span><span class="modifiers">public interface </span><span class="element-name type-name-label">ITierConverter&lt;TIER&gt;</span></div>
<div class="block">a function to extract tier info from a block.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-TIER" title="type parameter in ITierConverter">TIER</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#convert(net.minecraft.block.Block,int)" class="member-name-link">convert</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;meta)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="convert(net.minecraft.block.Block,int)">
<h3>convert</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-TIER" title="type parameter in ITierConverter">TIER</a></span>&nbsp;<span class="element-name">convert</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;meta)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,133 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IWithExtendedContext (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, interface: IWithExtendedContext">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="IWithExtendedContext.html" class="current-selection">IWithExtendedContext</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getCurrentContext()" tabindex="0">getCurrentContext()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IWithExtendedContext" class="title">Interface IWithExtendedContext&lt;CTX&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><span id="type-param-CTX"><code>CTX</code> - the temporary state context</span></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IWithExtendedContext&lt;CTX&gt;</span></div>
<div class="block">Implement this and use <a href="StructureUtility.html#withContext(com.gtnewhorizon.structurelib.structure.IStructureElement)"><code>StructureUtility.withContext(IStructureElement)</code></a> in case you need to record some
temporary states that don't need to live in your main context, which would usually live for the whole lifetime of the
structure than just during structure check. Usually just save some few bytes, but becomes non-trivial if you need to
record too much stuff.
<p>
You will have to reset the context yourself though. The API can't guess when the old context becomes invalid.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-CTX" title="type parameter in IWithExtendedContext">CTX</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCurrentContext()" class="member-name-link">getCurrentContext</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getCurrentContext()">
<h3>getCurrentContext</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-CTX" title="type parameter in IWithExtendedContext">CTX</a></span>&nbsp;<span class="element-name">getCurrentContext</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,262 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>StructureDefinition.Builder (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, class: StructureDefinition, class: Builder">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="StructureDefinition.html">StructureDefinition</a></li>
<li><a href="StructureDefinition.Builder.html" class="current-selection">Builder</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getElements()" tabindex="0">getElements()</a></li>
<li><a href="#getShapes()" tabindex="0">getShapes()</a></li>
<li><a href="#addShape(java.lang.String,java.lang.String%5B%5D%5B%5D)" tabindex="0">addShape(String, String[][])</a></li>
<li><a href="#addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)" tabindex="0">addElement(Character, IStructureElement)</a></li>
<li><a href="#addElement(char,com.gtnewhorizon.structurelib.structure.IStructureElement)" tabindex="0">addElement(char, IStructureElement)</a></li>
<li><a href="#addChannel(com.gtnewhorizon.structurelib.structure.IChannelDefinition)" tabindex="0">addChannel(IChannelDefinition)</a></li>
<li><a href="#addChannel(java.lang.String,int,int)" tabindex="0">addChannel(String, int, int)</a></li>
<li><a href="#build()" tabindex="0">build()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class StructureDefinition.Builder" class="title">Class StructureDefinition.Builder&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder&lt;T&gt;</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="StructureDefinition.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition</a>&lt;<a href="StructureDefinition.html#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static class </span><span class="element-name type-name-label">StructureDefinition.Builder&lt;T&gt;</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addChannel(com.gtnewhorizon.structurelib.structure.IChannelDefinition)" class="member-name-link">addChannel</a><wbr>(<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&nbsp;definition)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addChannel(java.lang.String,int,int)" class="member-name-link">addChannel</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel,
int&nbsp;minimumValue,
int&nbsp;maximumValue)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addElement(char,com.gtnewhorizon.structurelib.structure.IStructureElement)" class="member-name-link">addElement</a><wbr>(char&nbsp;name,
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;&nbsp;structurePiece)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)" class="member-name-link">addElement</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html" title="class or interface in java.lang" class="external-link">Character</a>&nbsp;name,
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;&nbsp;structurePiece)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">use the unboxed version</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addShape(java.lang.String,java.lang.String%5B%5D%5B%5D)" class="member-name-link">addShape</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[][]&nbsp;structurePiece)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds shape.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a><wbr>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#build()" class="member-name-link">build</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html" title="class or interface in java.lang" class="external-link">Character</a>, <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElements()" class="member-name-link">getElements</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getShapes()" class="member-name-link">getShapes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getElements()">
<h3>getElements</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html" title="class or interface in java.lang" class="external-link">Character</a>, <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;&gt;</span>&nbsp;<span class="element-name">getElements</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getShapes()">
<h3>getShapes</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getShapes</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="addShape(java.lang.String,java.lang.String[][])">
<h3>addShape</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</span>&nbsp;<span class="element-name">addShape</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[][]&nbsp;structurePiece)</span></div>
<div class="block">Adds shape. Shape is a two-dimensional string array. Each <b>character</b> inside any of these strings will
be later mapped to a particular type of <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a> as indicated by
<a href="#addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)"><code>addElement(Character, IStructureElement)</code></a>.
<p>
next char is next block(a) next string is next line(b) next string[] is next slice(c)
<p>
There are a few special reserved characters that are pre-mapped to some common structure elements
<ul>
<li>+ is anything but air</li>
<li>- is air checks</li>
<li>space bar is skip</li>
<li>~ is also skip (but marks controller position, not optional)</li>
<li>char <code>A000-FFFF</code> range is reserved for generated skips</li>
</ul>
<p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - unlocalized/code name</dd>
<dd><code>structurePiece</code> - generated or written struct - DO NOT STORE IT ANYWHERE, or at least set them to null
afterwards</dd>
<dt>Returns:</dt>
<dd>this builder</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)">
<h3>addElement</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</span>&nbsp;<span class="element-name">addElement</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html" title="class or interface in java.lang" class="external-link">Character</a>&nbsp;name,
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;&nbsp;structurePiece)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">use the unboxed version</div>
</div>
</div>
</section>
</li>
<li>
<section class="detail" id="addElement(char,com.gtnewhorizon.structurelib.structure.IStructureElement)">
<h3>addElement</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</span>&nbsp;<span class="element-name">addElement</span><wbr><span class="parameters">(char&nbsp;name,
<a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;&nbsp;structurePiece)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="addChannel(com.gtnewhorizon.structurelib.structure.IChannelDefinition)">
<h3>addChannel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</span>&nbsp;<span class="element-name">addChannel</span><wbr><span class="parameters">(<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&nbsp;definition)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="addChannel(java.lang.String,int,int)">
<h3>addChannel</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</span>&nbsp;<span class="element-name">addChannel</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel,
int&nbsp;minimumValue,
int&nbsp;maximumValue)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="build()">
<h3>build</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</span>&nbsp;<span class="element-name">build</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,307 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>StructureDefinition (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure, class: StructureDefinition">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure</a></li>
<li><a href="StructureDefinition.html" class="current-selection">StructureDefinition</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#builder()" tabindex="0">builder()</a></li>
<li><a href="#getElements()" tabindex="0">getElements()</a></li>
<li><a href="#getShapes()" tabindex="0">getShapes()</a></li>
<li><a href="#getStructures()" tabindex="0">getStructures()</a></li>
<li><a href="#getChannelDefinitions()" tabindex="0">getChannelDefinitions()</a></li>
<li><a href="#getExplicitChannelDefinitions()" tabindex="0">getExplicitChannelDefinitions()</a></li>
<li><a href="#getChannelDefinition(java.lang.String)" tabindex="0">getChannelDefinition(String)</a></li>
<li><a href="#getStructureFor(java.lang.String)" tabindex="0">getStructureFor(String)</a></li>
<li><a href="#isContainedInStructure(java.lang.String,int,int,int)" tabindex="0">isContainedInStructure(String, int, int, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class StructureDefinition" class="title">Class StructureDefinition&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.structure.StructureDefinition&lt;T&gt;</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">StructureDefinition&lt;T&gt;</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="StructureDefinition.Builder.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;<a href="StructureDefinition.Builder.html#type-param-T" title="type parameter in StructureDefinition.Builder">T</a>&gt;</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;B&gt;&nbsp;<a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a><wbr>&lt;B&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#builder()" class="member-name-link">builder</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getChannelDefinition(java.lang.String)" class="member-name-link">getChannelDefinition</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Finds a channel definition by identifier.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getChannelDefinitions()" class="member-name-link">getChannelDefinitions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns channel definitions declared by this structure.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html" title="class or interface in java.lang" class="external-link">Character</a>, <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElements()" class="member-name-link">getElements</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getExplicitChannelDefinitions()" class="member-name-link">getExplicitChannelDefinitions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns channel definitions explicitly added by the structure builder.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getShapes()" class="member-name-link">getShapes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStructureFor(java.lang.String)" class="member-name-link">getStructureFor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used internally</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;[]&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStructures()" class="member-name-link">getStructures</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isContainedInStructure(java.lang.String,int,int,int)" class="member-name-link">isContainedInStructure</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
int&nbsp;offsetA,
int&nbsp;offsetB,
int&nbsp;offsetC)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.gtnewhorizon.structurelib.structure.IStructureDefinition">Methods inherited from interface&nbsp;<a href="IStructureDefinition.html#method-summary" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a></h3>
<code><a href="IStructureDefinition.html#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)" title="build(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)">build</a>, <a href="IStructureDefinition.html#buildOrHints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)" title="buildOrHints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)">buildOrHints</a>, <a href="IStructureDefinition.html#check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)" title="check(T, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)">check</a>, <a href="IStructureDefinition.html#getChannelData(net.minecraft.item.ItemStack,java.lang.String)" title="getChannelData(ItemStack, String)">getChannelData</a>, <a href="IStructureDefinition.html#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)" title="hints(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)">hints</a>, <a href="IStructureDefinition.html#iterate(java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IStructureWalker)" title="iterate(String, World, ExtendedFacing, int, int, int, int, int, int, IStructureWalker)">iterate</a>, <a href="IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)" title="survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, IItemSource, EntityPlayerMP, boolean)">survivalBuild</a>, <a href="IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment,boolean)" title="survivalBuild(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, ISurvivalBuildEnvironment, boolean)">survivalBuild</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="builder()">
<h3>builder</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;B&gt;</span>&nbsp;<span class="return-type"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;B&gt;</span>&nbsp;<span class="element-name">builder</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getElements()">
<h3>getElements</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Character.html" title="class or interface in java.lang" class="external-link">Character</a>, <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;&gt;</span>&nbsp;<span class="element-name">getElements</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getShapes()">
<h3>getShapes</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getShapes</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStructures()">
<h3>getStructures</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>, <a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;[]&gt;</span>&nbsp;<span class="element-name">getStructures</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannelDefinitions()">
<h3>getChannelDefinitions</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</span>&nbsp;<span class="element-name">getChannelDefinitions</span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureDefinition.html#getChannelDefinitions()">IStructureDefinition</a></code></span></div>
<div class="block">Returns channel definitions declared by this structure.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureDefinition.html#getChannelDefinitions()">getChannelDefinitions</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>an immutable or otherwise read-only channel collection</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getExplicitChannelDefinitions()">
<h3>getExplicitChannelDefinitions</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a>&gt;</span>&nbsp;<span class="element-name">getExplicitChannelDefinitions</span>()</div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureDefinition.html#getExplicitChannelDefinitions()">IStructureDefinition</a></code></span></div>
<div class="block">Returns channel definitions explicitly added by the structure builder.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureDefinition.html#getExplicitChannelDefinitions()">getExplicitChannelDefinitions</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>explicitly declared channel definitions</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getChannelDefinition(java.lang.String)">
<h3>getChannelDefinition</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></span>&nbsp;<span class="element-name">getChannelDefinition</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;channel)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureDefinition.html#getChannelDefinition(java.lang.String)">IStructureDefinition</a></code></span></div>
<div class="block">Finds a channel definition by identifier.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureDefinition.html#getChannelDefinition(java.lang.String)">getChannelDefinition</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>channel</code> - channel identifier</dd>
<dt>Returns:</dt>
<dd>channel definition, or <code>null</code> when it is not declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getStructureFor(java.lang.String)">
<h3>getStructureFor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;[]</span>&nbsp;<span class="element-name">getStructureFor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block"><span class="description-from-type-label">Description copied from interface:&nbsp;<code><a href="IStructureDefinition.html#getStructureFor(java.lang.String)">IStructureDefinition</a></code></span></div>
<div class="block">Used internally
<p>
Might, but is not required, to throw <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/NoSuchElementException.html" title="class or interface in java.util" class="external-link"><code>NoSuchElementException</code></a> if the given structure piece is not
found.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureDefinition.html#getStructureFor(java.lang.String)">getStructureFor</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>name</code> - same name as for other methods here</dd>
<dt>Returns:</dt>
<dd>the array of elements to process</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="isContainedInStructure(java.lang.String,int,int,int)">
<h3>isContainedInStructure</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isContainedInStructure</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
int&nbsp;offsetA,
int&nbsp;offsetB,
int&nbsp;offsetC)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IStructureDefinition.html#isContainedInStructure(java.lang.String,int,int,int)">isContainedInStructure</a></code>&nbsp;in interface&nbsp;<code><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;<a href="#type-param-T" title="type parameter in StructureDefinition">T</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,137 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>IBlockAdder (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure.adders, interface: IBlockAdder">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure.adders</a></li>
<li><a href="IBlockAdder.html" class="current-selection">IBlockAdder</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#apply(T,net.minecraft.block.Block,int)" tabindex="0">apply(T, Block, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface IBlockAdder" class="title">Interface IBlockAdder&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IBlockAdder&lt;T&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#apply(T,net.minecraft.block.Block,int)" class="member-name-link">apply</a><wbr>(<a href="#type-param-T" title="type parameter in IBlockAdder">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;meta)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Callback on block added, needs to check if block is valid (and add it)</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="apply(T,net.minecraft.block.Block,int)">
<h3 id="apply(java.lang.Object,net.minecraft.block.Block,int)">apply</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">apply</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in IBlockAdder">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block,
int&nbsp;meta)</span></div>
<div class="block">Callback on block added, needs to check if block is valid (and add it)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>block</code> - block attempted to add</dd>
<dd><code>meta</code> - meta of block attempted to add</dd>
<dt>Returns:</dt>
<dd>is structure still valid</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,134 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ITileAdder (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure.adders, interface: ITileAdder">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.structure.adders</a></li>
<li><a href="ITileAdder.html" class="current-selection">ITileAdder</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#apply(T,net.minecraft.tileentity.TileEntity)" tabindex="0">apply(T, TileEntity)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface ITileAdder" class="title">Interface ITileAdder&lt;<span id="type-param-T">T</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ITileAdder&lt;T&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#apply(T,net.minecraft.tileentity.TileEntity)" class="member-name-link">apply</a><wbr>(<a href="#type-param-T" title="type parameter in ITileAdder">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/tileentity/TileEntity.html" title="class or interface in net.minecraft.tileentity" class="external-link">TileEntity</a>&nbsp;tileEntity)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Callback to add hatch, needs to check if tile is valid (and add it)</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="apply(T,net.minecraft.tileentity.TileEntity)">
<h3 id="apply(java.lang.Object,net.minecraft.tileentity.TileEntity)">apply</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">apply</span><wbr><span class="parameters">(<a href="#type-param-T" title="type parameter in ITileAdder">T</a>&nbsp;t,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/tileentity/TileEntity.html" title="class or interface in net.minecraft.tileentity" class="external-link">TileEntity</a>&nbsp;tileEntity)</span></div>
<div class="block">Callback to add hatch, needs to check if tile is valid (and add it)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>tileEntity</code> - tile</dd>
<dt>Returns:</dt>
<dd>managed to add hatch (structure still valid)</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,104 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.structure.adders (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure.adders">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.structure.adders</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib.structure.adders" class="title">Package com.gtnewhorizon.structurelib.structure.adders</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib.structure.adders</span></div>
<section class="package-description" id="package-description">
<div class="block">Adder interfaces used in various standard structure elements.</div>
</section>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">com.gtnewhorizon.structurelib.structure</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide support for multiblock structure checking.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="caption"><span>Interfaces</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IBlockAdder.html" title="interface in com.gtnewhorizon.structurelib.structure.adders">IBlockAdder</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ITileAdder.html" title="interface in com.gtnewhorizon.structurelib.structure.adders">ITileAdder</a>&lt;T&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">&nbsp;</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,70 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.structure.adders Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib.structure.adders">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../search.html">Search</a></li>
<li><a href="../../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.structure.adders</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib.structure.adders</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.adders.<a href="IBlockAdder.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure.adders">IBlockAdder</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.adders.<a href="ITileAdder.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure.adders">ITileAdder</a>&lt;T&gt;</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,183 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.structure (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.structure">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.structure</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib.structure" class="title">Package com.gtnewhorizon.structurelib.structure</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib.structure</span></div>
<section class="package-description" id="package-description">
<div class="block">This package provide support for multiblock structure checking.
<p>
All public stuff in this package and its subpackages are considered part of the public API. Backwards compatibility
is maintained to the maximum extend possible.</div>
</section>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">com.gtnewhorizon.structurelib</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="adders/package-summary.html">com.gtnewhorizon.structurelib.structure.adders</a></div>
<div class="col-last odd-row-color">
<div class="block">Adder interfaces used in various standard structure elements.</div>
</div>
<div class="col-first even-row-color"><a href="../alignment/package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first odd-row-color"><a href="../util/package-summary.html">com.gtnewhorizon.structurelib.util</a></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enum Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel" aria-labelledby="class-summary-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Represent the environment in which autoplace of a single element took place.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="AutoPlaceEnvironment.APILevel.html" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">
<div class="block">Defines the various API level an <a href="AutoPlaceEnvironment.html" title="class in com.gtnewhorizon.structurelib.structure"><code>AutoPlaceEnvironment</code></a> has implemented.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IBlockPosConsumer.html" title="interface in com.gtnewhorizon.structurelib.structure">IBlockPosConsumer</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IChannelDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Describes a channel used by one structure definition.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ICustomBlockSetting.html" title="interface in com.gtnewhorizon.structurelib.structure">ICustomBlockSetting</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Represent an item source.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ISpecialItemBlock.html" title="interface in com.gtnewhorizon.structurelib.structure">ISpecialItemBlock</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">This is the structure definition of your multi.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Use StructureUtility to instantiate.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="IStructureElement.BlocksToPlace.html" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="IStructureElement.PlaceResult.html" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IStructureElementChain.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementChain</a>&lt;T&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Use StructureUtility to instantiate</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IStructureElementCheckOnly.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementCheckOnly</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IStructureElementDeferred.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementDeferred</a>&lt;T&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Use StructureUtility to instantiate</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IStructureElementNoPlacement.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="IStructureWalker.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">A functional interface that is used to iterate over an arbitrary structure.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ISurvivalBuildEnvironment.html" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ITierConverter.html" title="interface in com.gtnewhorizon.structurelib.structure">ITierConverter</a>&lt;TIER&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">a function to extract tier info from a block.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="IWithExtendedContext.html" title="interface in com.gtnewhorizon.structurelib.structure">IWithExtendedContext</a>&lt;CTX&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Implement this and use <a href="StructureUtility.html#withContext(com.gtnewhorizon.structurelib.structure.IStructureElement)"><code>StructureUtility.withContext(IStructureElement)</code></a> in case you need to record some
temporary states that don't need to live in your main context, which would usually live for the whole lifetime of the
structure than just during structure check.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="StructureDefinition.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition</a>&lt;T&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="StructureDefinition.Builder.html" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;T&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="StructureUtility.html" title="class in com.gtnewhorizon.structurelib.structure">StructureUtility</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">A brief index of everything contained</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,115 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.structure Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib.structure">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.structure</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib.structure</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="AutoPlaceEnvironment.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElement.BlocksToPlace.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="StructureDefinition.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition</a>&lt;T&gt; (implements com.gtnewhorizon.structurelib.structure.<a href="IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="StructureDefinition.Builder.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="StructureUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureUtility</a></li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IBlockPosConsumer.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IBlockPosConsumer</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IChannelDefinition.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="ICustomBlockSetting.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ICustomBlockSetting</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IItemSource.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="ISpecialItemBlock.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ISpecialItemBlock</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureDefinition.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElement.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElementChain.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementChain</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElementCheckOnly.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementCheckOnly</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElementDeferred.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementDeferred</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElementNoPlacement.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a>&lt;T&gt;</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureWalker.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="ISurvivalBuildEnvironment.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="ITierConverter.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ITierConverter</a>&lt;TIER&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IWithExtendedContext.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IWithExtendedContext</a>&lt;CTX&gt;</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="AutoPlaceEnvironment.APILevel.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="IStructureElement.PlaceResult.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,189 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryIterable (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryIterable">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryIterable.html" class="current-selection">InventoryIterable</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E(Inv)" tabindex="0">InventoryIterable(Inv)</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getInventory()" tabindex="0">getInventory()</a></li>
<li><a href="#iterator()" tabindex="0">iterator()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class InventoryIterable" class="title">Class InventoryIterable&lt;<span id="type-param-Inv">Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a></span>&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.InventoryIterable&lt;Inv&gt;</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">InventoryIterable&lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(Inv)" class="member-name-link">InventoryIterable</a><wbr>(<a href="#type-param-Inv" title="type parameter in InventoryIterable">Inv</a>&nbsp;inv)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#type-param-Inv" title="type parameter in InventoryIterable">Inv</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInventory()" class="member-name-link">getInventory</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#iterator()" class="member-name-link">iterator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Iterable">Methods inherited from interface&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#method-summary" title="class or interface in java.lang" class="external-link">Iterable</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="external-link">forEach</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#spliterator()" title="class or interface in java.lang" class="external-link">spliterator</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(Inv)">
<h3 id="&lt;init&gt;(net.minecraft.inventory.IInventory)">InventoryIterable</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">InventoryIterable</span><wbr><span class="parameters">(<a href="#type-param-Inv" title="type parameter in InventoryIterable">Inv</a>&nbsp;inv)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getInventory()">
<h3>getInventory</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="#type-param-Inv" title="type parameter in InventoryIterable">Inv</a></span>&nbsp;<span class="element-name">getInventory</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="iterator()">
<h3>iterator</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</span>&nbsp;<span class="element-name">iterator</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#iterator()" title="class or interface in java.lang" class="external-link">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="#type-param-Inv" title="type parameter in InventoryIterable">Inv</a> extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,140 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryUtility.InventoryProvider (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryUtility, interface: InventoryProvider">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryUtility.html">InventoryUtility</a></li>
<li><a href="InventoryUtility.InventoryProvider.html" class="current-selection">InventoryProvider</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getInventory(net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">getInventory(EntityPlayerMP)</a></li>
<li><a href="#markDirty(R)" tabindex="0">markDirty(R)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface InventoryUtility.InventoryProvider" class="title">Interface InventoryUtility.InventoryProvider&lt;<span id="type-param-R">R extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</span>&gt;</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static interface </span><span class="element-name type-name-label">InventoryUtility.InventoryProvider&lt;R extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#type-param-R" title="type parameter in InventoryUtility.InventoryProvider">R</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getInventory(net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">getInventory</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#markDirty(R)" class="member-name-link">markDirty</a><wbr>(<a href="#type-param-R" title="type parameter in InventoryUtility.InventoryProvider">R</a>&nbsp;inv)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getInventory(net.minecraft.entity.player.EntityPlayerMP)">
<h3>getInventory</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type"><a href="#type-param-R" title="type parameter in InventoryUtility.InventoryProvider">R</a></span>&nbsp;<span class="element-name">getInventory</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="markDirty(R)">
<h3 id="markDirty(java.lang.Iterable)">markDirty</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">markDirty</span><wbr><span class="parameters">(<a href="#type-param-R" title="type parameter in InventoryUtility.InventoryProvider">R</a>&nbsp;inv)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,133 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryUtility.ItemStackCounter (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryUtility, interface: ItemStackCounter">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryUtility.html">InventoryUtility</a></li>
<li><a href="InventoryUtility.ItemStackCounter.html" class="current-selection">ItemStackCounter</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#add(net.minecraft.item.ItemStack,int)" tabindex="0">add(ItemStack, int)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface InventoryUtility.ItemStackCounter" class="title">Interface InventoryUtility.ItemStackCounter</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static interface </span><span class="element-name type-name-label">InventoryUtility.ItemStackCounter</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#add(net.minecraft.item.ItemStack,int)" class="member-name-link">add</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stack,
int&nbsp;stackSize)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Add some amount of stack.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="add(net.minecraft.item.ItemStack,int)">
<h3>add</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;stack,
int&nbsp;stackSize)</span></div>
<div class="block">Add some amount of stack. Note stackSize is used instead of stack.stackSize.</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,248 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryUtility.ItemStackExtractor.APIType (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryUtility, interface: ItemStackExtractor, enum: APIType">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryUtility.html">InventoryUtility</a></li>
<li><a href="InventoryUtility.ItemStackExtractor.html">ItemStackExtractor</a></li>
<li><a href="InventoryUtility.ItemStackExtractor.APIType.html" class="current-selection">APIType</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#MAIN" tabindex="0">MAIN</a></li>
<li><a href="#EXTRACT_ONE_STACK" tabindex="0">EXTRACT_ONE_STACK</a></li>
<li><a href="#IS_VALID_SOURCE" tabindex="0">IS_VALID_SOURCE</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class InventoryUtility.ItemStackExtractor.APIType" class="title">Enum Class InventoryUtility.ItemStackExtractor.APIType</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a></code></dd>
</dl>
<dl class="notes">
<dt>Enclosing interface:</dt>
<dd><code><a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static enum </span><span class="element-name type-name-label">InventoryUtility.ItemStackExtractor.APIType</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#EXTRACT_ONE_STACK" class="member-name-link">EXTRACT_ONE_STACK</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#IS_VALID_SOURCE" class="member-name-link">IS_VALID_SOURCE</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code><a href="#MAIN" class="member-name-link">MAIN</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="MAIN">
<h3>MAIN</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></span>&nbsp;<span class="element-name">MAIN</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="EXTRACT_ONE_STACK">
<h3>EXTRACT_ONE_STACK</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></span>&nbsp;<span class="element-name">EXTRACT_ONE_STACK</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="IS_VALID_SOURCE">
<h3>IS_VALID_SOURCE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></span>&nbsp;<span class="element-name">IS_VALID_SOURCE</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,246 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryUtility.ItemStackExtractor (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryUtility, interface: ItemStackExtractor">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryUtility.html">InventoryUtility</a></li>
<li><a href="InventoryUtility.ItemStackExtractor.html" class="current-selection">ItemStackExtractor</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#isAPIImplemented(com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType)" tabindex="0">isAPIImplemented(InventoryUtility.ItemStackExtractor.APIType)</a></li>
<li><a href="#isValidSource(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">isValidSource(ItemStack, EntityPlayerMP)</a></li>
<li><a href="#takeFromStack(java.util.function.Predicate,boolean,int,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackCounter,net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">takeFromStack(Predicate, boolean, int, InventoryUtility.ItemStackCounter, ItemStack, ItemStack, EntityPlayerMP)</a></li>
<li><a href="#getItem(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">getItem(ItemStack, ItemStack, boolean, EntityPlayerMP)</a></li>
<li><a href="#createOnlyOptimized(com.gtnewhorizon.structurelib.util.InventoryUtility.OptimizedExtractor)" tabindex="0">createOnlyOptimized(InventoryUtility.OptimizedExtractor)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface InventoryUtility.ItemStackExtractor" class="title">Interface InventoryUtility.ItemStackExtractor</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static interface </span><span class="element-name type-name-label">InventoryUtility.ItemStackExtractor</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Interface</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static enum&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="InventoryUtility.ItemStackExtractor.APIType.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1"><code>static <a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1"><code><a href="#createOnlyOptimized(com.gtnewhorizon.structurelib.util.InventoryUtility.OptimizedExtractor)" class="member-name-link">createOnlyOptimized</a><wbr>(<a href="InventoryUtility.OptimizedExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a>&nbsp;optimizedExtractor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getItem(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">getItem</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;toExtract,
boolean&nbsp;simulate,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Extract a particular type of item.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isAPIImplemented(com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType)" class="member-name-link">isAPIImplemented</a><wbr>(<a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>&nbsp;type)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#isValidSource(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">isValidSource</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;is,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#takeFromStack(java.util.function.Predicate,boolean,int,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackCounter,net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">takeFromStack</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count,
<a href="InventoryUtility.ItemStackCounter.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a>&nbsp;store,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;filter,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Extract a particular type of item.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="isAPIImplemented(com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor.APIType)">
<h3>isAPIImplemented</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isAPIImplemented</span><wbr><span class="parameters">(<a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a>&nbsp;type)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="isValidSource(net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)">
<h3>isValidSource</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isValidSource</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;is,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="takeFromStack(java.util.function.Predicate,boolean,int,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackCounter,net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,net.minecraft.entity.player.EntityPlayerMP)">
<h3>takeFromStack</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">takeFromStack</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count,
<a href="InventoryUtility.ItemStackCounter.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a>&nbsp;store,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;filter,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
<div class="block">Extract a particular type of item. The extractor can choose to not return all items contained within this
item as long as it makes sense, but the author should inform the player of this.
<p>
Whether this method does recursive extraction is at the discretion of implementor.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>predicate</code> - the main filtering predicate. never null. It's assumed predicate always returns true on
filter, if that is not null</dd>
<dd><code>simulate</code> - true if only query but does not actually remove</dd>
<dd><code>store</code> - where to store extracted items. Should increment the</dd>
<dd><code>source</code> - from where an extraction should be attempted</dd>
<dd><code>filter</code> - stack to extract. should not be mutated! match the NBT tag using EXACT mode. might be null.</dd>
<dd><code>player</code> - executor of extraction, or null if from a machine</dd>
<dt>Returns:</dt>
<dd>amount extracted, or -1 if this is not implemented</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getItem(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)">
<h3>getItem</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getItem</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;toExtract,
boolean&nbsp;simulate,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
<div class="block">Extract a particular type of item. The extractor can choose to not return all items contained within this
item as long as it makes sense, but the author should inform the player of this.
<p>
Whether this method does recursive extraction is at the discretion of implementor.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>source</code> - from where an extraction should be attempted</dd>
<dd><code>toExtract</code> - stack to extract. should not be mutated! match the NBT tag using EXACT mode.</dd>
<dd><code>simulate</code> - true if only query but does not actually remove</dd>
<dd><code>player</code> - executor of extraction, or null if from a machine</dd>
<dt>Returns:</dt>
<dd>amount extracted, or -1 if this is not implemented</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="createOnlyOptimized(com.gtnewhorizon.structurelib.util.InventoryUtility.OptimizedExtractor)">
<h3>createOnlyOptimized</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></span>&nbsp;<span class="element-name">createOnlyOptimized</span><wbr><span class="parameters">(@Nonnull
<a href="InventoryUtility.OptimizedExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a>&nbsp;optimizedExtractor)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,149 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryUtility.OptimizedExtractor (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryUtility, interface: OptimizedExtractor">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryUtility.html">InventoryUtility</a></li>
<li><a href="InventoryUtility.OptimizedExtractor.html" class="current-selection">OptimizedExtractor</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#extract(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">extract(ItemStack, ItemStack, boolean, EntityPlayerMP)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Interface InventoryUtility.OptimizedExtractor" class="title">Interface InventoryUtility.OptimizedExtractor</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static interface </span><span class="element-name type-name-label">InventoryUtility.OptimizedExtractor</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#extract(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">extract</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;toExtract,
boolean&nbsp;simulate,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Extract a particular type of item.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="extract(net.minecraft.item.ItemStack,net.minecraft.item.ItemStack,boolean,net.minecraft.entity.player.EntityPlayerMP)">
<h3>extract</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">extract</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;source,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;toExtract,
boolean&nbsp;simulate,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
<div class="block">Extract a particular type of item. The extractor can choose to not return all items contained within this
item as long as it makes sense, but the author should inform the player of this.
<p>
Whether optimized extractor do recursive extraction is at the discretion of implementor.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>source</code> - from where an extraction should be attempted</dd>
<dd><code>toExtract</code> - stack to extract. should not be mutated! match the NBT tag using EXACT mode.</dd>
<dd><code>simulate</code> - true if only query but does not actually remove</dd>
<dd><code>player</code> - executor of extraction, or null if from a machine</dd>
<dt>Returns:</dt>
<dd>amount extracted</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,389 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>InventoryUtility (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: InventoryUtility">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="InventoryUtility.html" class="current-selection">InventoryUtility</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E()" tabindex="0">InventoryUtility()</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#registerEnableEnderCondition(java.util.function.Predicate)" tabindex="0">registerEnableEnderCondition(Predicate)</a></li>
<li><a href="#registerStackExtractor(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor)" tabindex="0">registerStackExtractor(String, InventoryUtility.ItemStackExtractor)</a></li>
<li><a href="#registerStackExtractor(java.lang.String,java.util.function.Function)" tabindex="0">registerStackExtractor(String, Function)</a></li>
<li><a href="#registerInventoryProvider(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.InventoryProvider)" tabindex="0">registerInventoryProvider(String, InventoryUtility.InventoryProvider)</a></li>
<li><a href="#registerInventoryProvider(java.lang.String,java.util.function.Function)" tabindex="0">registerInventoryProvider(String, Function)</a></li>
<li><a href="#getStackExtractors(net.minecraft.entity.player.EntityPlayerMP)" tabindex="0">getStackExtractors(EntityPlayerMP)</a></li>
<li><a href="#newInventoryProvider(java.util.function.Function)" tabindex="0">newInventoryProvider(Function)</a></li>
<li><a href="#newItemStackProvider(java.util.function.Function)" tabindex="0">newItemStackProvider(Function)</a></li>
<li><a href="#takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,java.util.function.Predicate,boolean,int)" tabindex="0">takeFromInventory(EntityPlayerMP, Predicate, boolean, int)</a></li>
<li><a href="#takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,net.minecraft.item.ItemStack,boolean)" tabindex="0">takeFromInventory(EntityPlayerMP, ItemStack, boolean)</a></li>
<li><a href="#takeFromInventory(java.lang.Iterable,java.util.function.Predicate,boolean,int,boolean)" tabindex="0">takeFromInventory(Iterable, Predicate, boolean, int, boolean)</a></li>
<li><a href="#init()" tabindex="0">init()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class InventoryUtility" class="title">Class InventoryUtility</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.InventoryUtility</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">InventoryUtility</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">This class is part of API, but is not stable. Use at your own risk.</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="InventoryUtility.InventoryProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;<a href="InventoryUtility.InventoryProvider.html#type-param-R" title="type parameter in InventoryUtility.InventoryProvider">R</a> extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&gt;</code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="InventoryUtility.ItemStackCounter.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="InventoryUtility.ItemStackExtractor.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="InventoryUtility.OptimizedExtractor.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">InventoryUtility</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a><wbr>&lt;? extends <a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getStackExtractors(net.minecraft.entity.player.EntityPlayerMP)" class="member-name-link">getStackExtractors</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#init()" class="member-name-link">init</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;<br><a href="InventoryUtility.InventoryProvider.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a><wbr>&lt;<a href="InventoryIterable.html" title="class in com.gtnewhorizon.structurelib.util">InventoryIterable</a>&lt;Inv&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#newInventoryProvider(java.util.function.Function)" class="member-name-link">newInventoryProvider</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>, ? extends Inv&gt;&nbsp;extractor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#newItemStackProvider(java.util.function.Function)" class="member-name-link">newItemStackProvider</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, ? extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;&nbsp;extractor)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#registerEnableEnderCondition(java.util.function.Predicate)" class="member-name-link">registerEnableEnderCondition</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;? super <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&gt;&nbsp;predicate)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#registerInventoryProvider(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.InventoryProvider)" class="member-name-link">registerInventoryProvider</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="InventoryUtility.InventoryProvider.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;?&gt;&nbsp;val)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;<br>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#registerInventoryProvider(java.lang.String,java.util.function.Function)" class="member-name-link">registerInventoryProvider</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>, ? extends Inv&gt;&nbsp;extractor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#registerStackExtractor(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor)" class="member-name-link">registerStackExtractor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a>&nbsp;val)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;<br>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#registerStackExtractor(java.lang.String,java.util.function.Function)" class="member-name-link">registerStackExtractor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, ? extends Inv&gt;&nbsp;extractor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#takeFromInventory(java.lang.Iterable,java.util.function.Predicate,boolean,int,boolean)" class="member-name-link">takeFromInventory</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;inv,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count,
boolean&nbsp;recursive)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">take count amount of stacks that matches given filter.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,java.util.function.Predicate,boolean,int)" class="member-name-link">takeFromInventory</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">take count amount of stacks that matches given filter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,net.minecraft.item.ItemStack,boolean)" class="member-name-link">takeFromInventory</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;filter,
boolean&nbsp;simulate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">take count amount of stacks that matches given filter.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>InventoryUtility</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">InventoryUtility</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="registerEnableEnderCondition(java.util.function.Predicate)">
<h3>registerEnableEnderCondition</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">registerEnableEnderCondition</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;? super <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&gt;&nbsp;predicate)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="registerStackExtractor(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.ItemStackExtractor)">
<h3>registerStackExtractor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">registerStackExtractor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a>&nbsp;val)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="registerStackExtractor(java.lang.String,java.util.function.Function)">
<h3>registerStackExtractor</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">registerStackExtractor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, ? extends Inv&gt;&nbsp;extractor)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="registerInventoryProvider(java.lang.String,com.gtnewhorizon.structurelib.util.InventoryUtility.InventoryProvider)">
<h3>registerInventoryProvider</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">registerInventoryProvider</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="InventoryUtility.InventoryProvider.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;?&gt;&nbsp;val)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="registerInventoryProvider(java.lang.String,java.util.function.Function)">
<h3>registerInventoryProvider</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">registerInventoryProvider</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>, ? extends Inv&gt;&nbsp;extractor)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="getStackExtractors(net.minecraft.entity.player.EntityPlayerMP)">
<h3>getStackExtractors</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;? extends <a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a>&gt;</span>&nbsp;<span class="element-name">getStackExtractors</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="newInventoryProvider(java.util.function.Function)">
<h3>newInventoryProvider</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;</span>
<span class="return-type"><a href="InventoryUtility.InventoryProvider.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;<a href="InventoryIterable.html" title="class in com.gtnewhorizon.structurelib.util">InventoryIterable</a>&lt;Inv&gt;&gt;</span>&nbsp;<span class="element-name">newInventoryProvider</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>, ? extends Inv&gt;&nbsp;extractor)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="newItemStackProvider(java.util.function.Function)">
<h3>newItemStackProvider</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></span>&nbsp;<span class="element-name">newItemStackProvider</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Function.html" title="class or interface in java.util.function" class="external-link">Function</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, ? extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;&nbsp;extractor)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,java.util.function.Predicate,boolean,int)">
<h3>takeFromInventory</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</span>&nbsp;<span class="element-name">takeFromInventory</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count)</span></div>
<div class="block">take count amount of stacks that matches given filter. might take partial amount of stuff, so simulation is
suggested if you ever need to take more than one.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>player</code> - source of stacks</dd>
<dd><code>predicate</code> - item stack filter</dd>
<dd><code>simulate</code> - whether to do removal</dd>
<dd><code>count</code> - let's hope int size is enough...</dd>
<dt>Returns:</dt>
<dd>amount taken. never negative nor bigger than count...</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="takeFromInventory(net.minecraft.entity.player.EntityPlayerMP,net.minecraft.item.ItemStack,boolean)">
<h3>takeFromInventory</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">takeFromInventory</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/entity/player/EntityPlayerMP.html" title="class or interface in net.minecraft.entity.player" class="external-link">EntityPlayerMP</a>&nbsp;player,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;filter,
boolean&nbsp;simulate)</span></div>
<div class="block">take count amount of stacks that matches given filter. might take partial amount of stuff, so simulation is
suggested if you ever need to take more than one.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>player</code> - source of stacks</dd>
<dd><code>filter</code> - the precise type of item to extract. stackSize matters</dd>
<dd><code>simulate</code> - whether to do removal</dd>
<dt>Returns:</dt>
<dd>amount taken. never negative nor bigger than count...</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="takeFromInventory(java.lang.Iterable,java.util.function.Predicate,boolean,int,boolean)">
<h3>takeFromInventory</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</span>&nbsp;<span class="element-name">takeFromInventory</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;inv,
<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&nbsp;predicate,
boolean&nbsp;simulate,
int&nbsp;count,
boolean&nbsp;recursive)</span></div>
<div class="block">take count amount of stacks that matches given filter. Will do 1 level of recursion to try find more stacks....
e.g. from backpacks...</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>inv</code> - source of stacks</dd>
<dd><code>predicate</code> - item stack filter</dd>
<dd><code>simulate</code> - whether to do removal</dd>
<dd><code>count</code> - let's hope int size is enough...</dd>
<dd><code>recursive</code> - do recursive lookup using <a href="#getStackExtractors(net.minecraft.entity.player.EntityPlayerMP)"><code>stack extractors</code></a></dd>
<dt>Returns:</dt>
<dd>amount taken. never negative nor bigger than count...</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="init()">
<h3>init</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">init</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,262 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ItemStackPredicate.NBTMode (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: ItemStackPredicate, enum: NBTMode">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="ItemStackPredicate.html">ItemStackPredicate</a></li>
<li><a href="ItemStackPredicate.NBTMode.html" class="current-selection">NBTMode</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#enum-constant-summary" tabindex="0">Enum Constant Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#enum-constant-detail" tabindex="0">Enum Constant Details</a>
<ol class="toc-list">
<li><a href="#IGNORE" tabindex="0">IGNORE</a></li>
<li><a href="#IN" tabindex="0">IN</a></li>
<li><a href="#EXACT" tabindex="0">EXACT</a></li>
<li><a href="#IGNORE_KNOWN_INSIGNIFICANT_TAGS" tabindex="0">IGNORE_KNOWN_INSIGNIFICANT_TAGS</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#values()" tabindex="0">values()</a></li>
<li><a href="#valueOf(java.lang.String)" tabindex="0">valueOf(String)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Enum Class ItemStackPredicate.NBTMode" class="title">Enum Class ItemStackPredicate.NBTMode</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&gt;
<div class="inheritance">com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&gt;, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html" title="class or interface in java.util.function" class="external-link">BiPredicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>&gt;</code></dd>
</dl>
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><code><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public static enum </span><span class="element-name type-name-label">ItemStackPredicate.NBTMode</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&gt;
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html" title="class or interface in java.util.function" class="external-link">BiPredicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>, <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.lang.Enum">Nested classes/interfaces inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#nested-class-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="class or interface in java.lang" class="external-link">Enum.EnumDesc</a>&lt;E&gt;</code></div>
</section>
</li>
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#EXACT" class="member-name-link">EXACT</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#IGNORE" class="member-name-link">IGNORE</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code><a href="#IGNORE_KNOWN_INSIGNIFICANT_TAGS" class="member-name-link">IGNORE_KNOWN_INSIGNIFICANT_TAGS</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="#IN" class="member-name-link">IN</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this class with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#method-summary" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="class or interface in java.lang" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#name()" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#ordinal()" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.util.function.BiPredicate">Methods inherited from interface&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html#method-summary" title="class or interface in java.util.function" class="external-link">BiPredicate</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html#and(java.util.function.BiPredicate)" title="class or interface in java.util.function" class="external-link">and</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html#negate()" title="class or interface in java.util.function" class="external-link">negate</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html#or(java.util.function.BiPredicate)" title="class or interface in java.util.function" class="external-link">or</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html#test(T,U)" title="class or interface in java.util.function" class="external-link">test</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="IGNORE">
<h3>IGNORE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></span>&nbsp;<span class="element-name">IGNORE</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="IN">
<h3>IN</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></span>&nbsp;<span class="element-name">IN</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="EXACT">
<h3>EXACT</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></span>&nbsp;<span class="element-name">EXACT</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="IGNORE_KNOWN_INSIGNIFICANT_TAGS">
<h3>IGNORE_KNOWN_INSIGNIFICANT_TAGS</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></span>&nbsp;<span class="element-name">IGNORE_KNOWN_INSIGNIFICANT_TAGS</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum class, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum class, in the order they are declared</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this class with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this class. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum class has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,246 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>ItemStackPredicate (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: ItemStackPredicate">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="ItemStackPredicate.html" class="current-selection">ItemStackPredicate</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#from(net.minecraft.item.Item)" tabindex="0">from(Item)</a></li>
<li><a href="#from(net.minecraft.item.ItemStack)" tabindex="0">from(ItemStack)</a></li>
<li><a href="#from(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode)" tabindex="0">from(ItemStack, ItemStackPredicate.NBTMode)</a></li>
<li><a href="#from(net.minecraft.block.Block)" tabindex="0">from(Block)</a></li>
<li><a href="#ignoreMeta()" tabindex="0">ignoreMeta()</a></li>
<li><a href="#setMeta(int)" tabindex="0">setMeta(int)</a></li>
<li><a href="#setTag(com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound)" tabindex="0">setTag(ItemStackPredicate.NBTMode, NBTTagCompound)</a></li>
<li><a href="#test(net.minecraft.item.ItemStack)" tabindex="0">test(ItemStack)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class ItemStackPredicate" class="title">Class ItemStackPredicate</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.ItemStackPredicate</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">ItemStackPredicate</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static enum&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="ItemStackPredicate.NBTMode.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#from(net.minecraft.block.Block)" class="member-name-link">from</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#from(net.minecraft.item.Item)" class="member-name-link">from</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/Item.html" title="class or interface in net.minecraft.item" class="external-link">Item</a>&nbsp;item)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#from(net.minecraft.item.ItemStack)" class="member-name-link">from</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#from(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode)" class="member-name-link">from</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack,
<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&nbsp;mode)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#ignoreMeta()" class="member-name-link">ignoreMeta</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMeta(int)" class="member-name-link">setMeta</a><wbr>(int&nbsp;meta)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTag(com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound)" class="member-name-link">setTag</a><wbr>(<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&nbsp;mode,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>&nbsp;tag)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#test(net.minecraft.item.ItemStack)" class="member-name-link">test</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.util.function.Predicate">Methods inherited from interface&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html#method-summary" title="class or interface in java.util.function" class="external-link">Predicate</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html#and(java.util.function.Predicate)" title="class or interface in java.util.function" class="external-link">and</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html#negate()" title="class or interface in java.util.function" class="external-link">negate</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html#or(java.util.function.Predicate)" title="class or interface in java.util.function" class="external-link">or</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="from(net.minecraft.item.Item)">
<h3>from</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">from</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/Item.html" title="class or interface in net.minecraft.item" class="external-link">Item</a>&nbsp;item)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="from(net.minecraft.item.ItemStack)">
<h3>from</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">from</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="from(net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode)">
<h3>from</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">from</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack,
<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&nbsp;mode)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="from(net.minecraft.block.Block)">
<h3>from</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">from</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/block/Block.html" title="class or interface in net.minecraft.block" class="external-link">Block</a>&nbsp;block)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="ignoreMeta()">
<h3>ignoreMeta</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">ignoreMeta</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="setMeta(int)">
<h3>setMeta</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">setMeta</span><wbr><span class="parameters">(int&nbsp;meta)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="setTag(com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode,net.minecraft.nbt.NBTTagCompound)">
<h3>setTag</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></span>&nbsp;<span class="element-name">setTag</span><wbr><span class="parameters">(<a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a>&nbsp;mode,
<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>&nbsp;tag)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="test(net.minecraft.item.ItemStack)">
<h3>test</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">test</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&nbsp;itemStack)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html#test(T)" title="class or interface in java.util.function" class="external-link">test</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,131 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>MiscUtils (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: MiscUtils">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="MiscUtils.html" class="current-selection">MiscUtils</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getTagKeys(net.minecraft.nbt.NBTTagCompound)" tabindex="0">getTagKeys(NBTTagCompound)</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class MiscUtils" class="title">Class MiscUtils</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.MiscUtils</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">MiscUtils</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">not related to a certain mod!</div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getTagKeys(net.minecraft.nbt.NBTTagCompound)" class="member-name-link">getTagKeys</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>&nbsp;tag)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getTagKeys(net.minecraft.nbt.NBTTagCompound)">
<h3>getTagKeys</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getTagKeys</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/nbt/NBTTagCompound.html" title="class or interface in net.minecraft.nbt" class="external-link">NBTTagCompound</a>&nbsp;tag)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,280 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>SortedRegistry (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: SortedRegistry">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="SortedRegistry.html" class="current-selection">SortedRegistry</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E()" tabindex="0">SortedRegistry()</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#register(java.lang.String,V)" tabindex="0">register(String, V)</a></li>
<li><a href="#size()" tabindex="0">size()</a></li>
<li><a href="#isEmpty()" tabindex="0">isEmpty()</a></li>
<li><a href="#containsKey(java.lang.String)" tabindex="0">containsKey(String)</a></li>
<li><a href="#containsValue(V)" tabindex="0">containsValue(V)</a></li>
<li><a href="#get(java.lang.String)" tabindex="0">get(String)</a></li>
<li><a href="#iterator()" tabindex="0">iterator()</a></li>
<li><a href="#forEach(java.util.function.Consumer)" tabindex="0">forEach(Consumer)</a></li>
<li><a href="#spliterator()" tabindex="0">spliterator()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class SortedRegistry" class="title">Class SortedRegistry&lt;<span id="type-param-V">V</span>&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.SortedRegistry&lt;V&gt;</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;V&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SortedRegistry&lt;V&gt;</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;V&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">SortedRegistry</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#containsKey(java.lang.String)" class="member-name-link">containsKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#containsValue(V)" class="member-name-link">containsValue</a><wbr>(<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#forEach(java.util.function.Consumer)" class="member-name-link">forEach</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;? super <a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;&nbsp;action)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#type-param-V" title="type parameter in SortedRegistry">V</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get(java.lang.String)" class="member-name-link">get</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isEmpty()" class="member-name-link">isEmpty</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a><wbr>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#iterator()" class="member-name-link">iterator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#register(java.lang.String,V)" class="member-name-link">register</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&nbsp;val)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Spliterator.html" title="class or interface in java.util" class="external-link">Spliterator</a><wbr>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#spliterator()" class="member-name-link">spliterator</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>SortedRegistry</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SortedRegistry</span>()</div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="register(java.lang.String,V)">
<h3 id="register(java.lang.String,java.lang.Object)">register</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">register</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&nbsp;val)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="size()">
<h3>size</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">size</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="isEmpty()">
<h3>isEmpty</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isEmpty</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="containsKey(java.lang.String)">
<h3>containsKey</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">containsKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="containsValue(V)">
<h3 id="containsValue(java.lang.Object)">containsValue</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">containsValue</span><wbr><span class="parameters">(<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&nbsp;value)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="get(java.lang.String)">
<h3>get</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="#type-param-V" title="type parameter in SortedRegistry">V</a></span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="iterator()">
<h3>iterator</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</span>&nbsp;<span class="element-name">iterator</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#iterator()" title="class or interface in java.lang" class="external-link">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="forEach(java.util.function.Consumer)">
<h3>forEach</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">forEach</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;? super <a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;&nbsp;action)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="external-link">forEach</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="spliterator()">
<h3>spliterator</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Spliterator.html" title="class or interface in java.util" class="external-link">Spliterator</a>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</span>&nbsp;<span class="element-name">spliterator</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html#spliterator()" title="class or interface in java.lang" class="external-link">spliterator</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="#type-param-V" title="type parameter in SortedRegistry">V</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,521 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Vec3Impl (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: Vec3Impl">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="Vec3Impl.html" class="current-selection">Vec3Impl</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#NULL_VECTOR" tabindex="0">NULL_VECTOR</a></li>
</ol>
</li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E(int,int,int)" tabindex="0">Vec3Impl(int, int, int)</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#getFromPool(int,int,int)" tabindex="0">getFromPool(int, int, int)</a></li>
<li><a href="#compareTo(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">compareTo(Vec3Impl)</a></li>
<li><a href="#get(int)" tabindex="0">get(int)</a></li>
<li><a href="#get0()" tabindex="0">get0()</a></li>
<li><a href="#get1()" tabindex="0">get1()</a></li>
<li><a href="#get2()" tabindex="0">get2()</a></li>
<li><a href="#offset(net.minecraftforge.common.util.ForgeDirection,int)" tabindex="0">offset(ForgeDirection, int)</a></li>
<li><a href="#add(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">add(Vec3Impl)</a></li>
<li><a href="#sub(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">sub(Vec3Impl)</a></li>
<li><a href="#add(int,int,int)" tabindex="0">add(int, int, int)</a></li>
<li><a href="#sub(int,int,int)" tabindex="0">sub(int, int, int)</a></li>
<li><a href="#crossProduct(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">crossProduct(Vec3Impl)</a></li>
<li><a href="#withinDistance(com.gtnewhorizon.structurelib.util.Vec3Impl,double)" tabindex="0">withinDistance(Vec3Impl, double)</a></li>
<li><a href="#withinDistance(net.minecraft.dispenser.IPosition,double)" tabindex="0">withinDistance(IPosition, double)</a></li>
<li><a href="#distanceSq(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">distanceSq(Vec3Impl)</a></li>
<li><a href="#distanceSq(net.minecraft.dispenser.IPosition,boolean)" tabindex="0">distanceSq(IPosition, boolean)</a></li>
<li><a href="#distanceSq(double,double,double,boolean)" tabindex="0">distanceSq(double, double, double, boolean)</a></li>
<li><a href="#manhattanDistance(com.gtnewhorizon.structurelib.util.Vec3Impl)" tabindex="0">manhattanDistance(Vec3Impl)</a></li>
<li><a href="#toString()" tabindex="0">toString()</a></li>
<li><a href="#abs()" tabindex="0">abs()</a></li>
<li><a href="#equals(java.lang.Object)" tabindex="0">equals(Object)</a></li>
<li><a href="#hashCode()" tabindex="0">hashCode()</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class Vec3Impl" class="title">Class Vec3Impl</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.Vec3Impl</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&gt;</code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Vec3Impl</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&gt;</span></div>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color"><code><a href="#NULL_VECTOR" class="member-name-link">NULL_VECTOR</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(int,int,int)" class="member-name-link">Vec3Impl</a><wbr>(int&nbsp;in0,
int&nbsp;in1,
int&nbsp;in2)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#abs()" class="member-name-link">abs</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#add(int,int,int)" class="member-name-link">add</a><wbr>(int&nbsp;pos0,
int&nbsp;pos1,
int&nbsp;pos2)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#add(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">add</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;pos)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareTo(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">compareTo</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;o)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#crossProduct(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">crossProduct</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;vec)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#distanceSq(double,double,double,boolean)" class="member-name-link">distanceSq</a><wbr>(double&nbsp;x,
double&nbsp;y,
double&nbsp;z,
boolean&nbsp;useCenter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#distanceSq(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">distanceSq</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;to)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#distanceSq(net.minecraft.dispenser.IPosition,boolean)" class="member-name-link">distanceSq</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/dispenser/IPosition.html" title="class or interface in net.minecraft.dispenser" class="external-link">IPosition</a>&nbsp;to,
boolean&nbsp;useCenter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get(int)" class="member-name-link">get</a><wbr>(int&nbsp;index)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the coordinate.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get0()" class="member-name-link">get0</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the X coordinate.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get1()" class="member-name-link">get1</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the Y coordinate.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get2()" class="member-name-link">get2</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the Z coordinate.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getFromPool(int,int,int)" class="member-name-link">getFromPool</a><wbr>(int&nbsp;in0,
int&nbsp;in1,
int&nbsp;in2)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">THIS WILL CAUSE THIS VECTOR TO PERMANENTLY RESIDE IN STATIC MEMORY.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#manhattanDistance(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">manhattanDistance</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;to)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#offset(net.minecraftforge.common.util.ForgeDirection,int)" class="member-name-link">offset</a><wbr>(net.minecraftforge.common.util.ForgeDirection&nbsp;facing,
int&nbsp;n)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sub(int,int,int)" class="member-name-link">sub</a><wbr>(int&nbsp;pos0,
int&nbsp;pos1,
int&nbsp;pos2)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sub(com.gtnewhorizon.structurelib.util.Vec3Impl)" class="member-name-link">sub</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;pos)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withinDistance(com.gtnewhorizon.structurelib.util.Vec3Impl,double)" class="member-name-link">withinDistance</a><wbr>(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;to,
double&nbsp;distance)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withinDistance(net.minecraft.dispenser.IPosition,double)" class="member-name-link">withinDistance</a><wbr>(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/dispenser/IPosition.html" title="class or interface in net.minecraft.dispenser" class="external-link">IPosition</a>&nbsp;to,
double&nbsp;distance)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="NULL_VECTOR">
<h3>NULL_VECTOR</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">NULL_VECTOR</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(int,int,int)">
<h3>Vec3Impl</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Vec3Impl</span><wbr><span class="parameters">(int&nbsp;in0,
int&nbsp;in1,
int&nbsp;in2)</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getFromPool(int,int,int)">
<h3>getFromPool</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">getFromPool</span><wbr><span class="parameters">(int&nbsp;in0,
int&nbsp;in1,
int&nbsp;in2)</span></div>
<div class="block">THIS WILL CAUSE THIS VECTOR TO PERMANENTLY RESIDE IN STATIC MEMORY. DO NOT USE THIS UNLESS YOU KNOW WHAT YOU ARE
DOING!!!</div>
</div>
</section>
</li>
<li>
<section class="detail" id="compareTo(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>compareTo</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">compareTo</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;o)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html#compareTo(T)" title="class or interface in java.lang" class="external-link">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&gt;</code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="get(int)">
<h3>get</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(int&nbsp;index)</span></div>
<div class="block">Gets the coordinate.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="get0()">
<h3>get0</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">get0</span>()</div>
<div class="block">Gets the X coordinate.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="get1()">
<h3>get1</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">get1</span>()</div>
<div class="block">Gets the Y coordinate.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="get2()">
<h3>get2</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">get2</span>()</div>
<div class="block">Gets the Z coordinate.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="offset(net.minecraftforge.common.util.ForgeDirection,int)">
<h3>offset</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">offset</span><wbr><span class="parameters">(net.minecraftforge.common.util.ForgeDirection&nbsp;facing,
int&nbsp;n)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="add(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>add</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;pos)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="sub(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>sub</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">sub</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;pos)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="add(int,int,int)">
<h3>add</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">add</span><wbr><span class="parameters">(int&nbsp;pos0,
int&nbsp;pos1,
int&nbsp;pos2)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="sub(int,int,int)">
<h3>sub</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">sub</span><wbr><span class="parameters">(int&nbsp;pos0,
int&nbsp;pos1,
int&nbsp;pos2)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="crossProduct(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>crossProduct</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">crossProduct</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;vec)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="withinDistance(com.gtnewhorizon.structurelib.util.Vec3Impl,double)">
<h3>withinDistance</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">withinDistance</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;to,
double&nbsp;distance)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="withinDistance(net.minecraft.dispenser.IPosition,double)">
<h3>withinDistance</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">withinDistance</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/dispenser/IPosition.html" title="class or interface in net.minecraft.dispenser" class="external-link">IPosition</a>&nbsp;to,
double&nbsp;distance)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="distanceSq(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>distanceSq</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">distanceSq</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;to)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="distanceSq(net.minecraft.dispenser.IPosition,boolean)">
<h3>distanceSq</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">distanceSq</span><wbr><span class="parameters">(<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/dispenser/IPosition.html" title="class or interface in net.minecraft.dispenser" class="external-link">IPosition</a>&nbsp;to,
boolean&nbsp;useCenter)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="distanceSq(double,double,double,boolean)">
<h3>distanceSq</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">distanceSq</span><wbr><span class="parameters">(double&nbsp;x,
double&nbsp;y,
double&nbsp;z,
boolean&nbsp;useCenter)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="manhattanDistance(com.gtnewhorizon.structurelib.util.Vec3Impl)">
<h3>manhattanDistance</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">manhattanDistance</span><wbr><span class="parameters">(<a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a>&nbsp;to)</span></div>
</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="abs()">
<h3>abs</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></span>&nbsp;<span class="element-name">abs</span>()</div>
</div>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</span></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,525 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>XSTR (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util, class: XSTR">
<meta name="generator" content="javadoc/ClassWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html">com.gtnewhorizon.structurelib.util</a></li>
<li><a href="XSTR.html" class="current-selection">XSTR</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
<li><a href="#field-detail" tabindex="0">Field Details</a>
<ol class="toc-list">
<li><a href="#XSTR_INSTANCE" tabindex="0">XSTR_INSTANCE</a></li>
</ol>
</li>
<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
<ol class="toc-list">
<li><a href="#%3Cinit%3E()" tabindex="0">XSTR()</a></li>
<li><a href="#%3Cinit%3E(long)" tabindex="0">XSTR(long)</a></li>
</ol>
</li>
<li><a href="#method-detail" tabindex="0">Method Details</a>
<ol class="toc-list">
<li><a href="#nextBoolean()" tabindex="0">nextBoolean()</a></li>
<li><a href="#nextDouble()" tabindex="0">nextDouble()</a></li>
<li><a href="#getSeed()" tabindex="0">getSeed()</a></li>
<li><a href="#setSeed(long)" tabindex="0">setSeed(long)</a></li>
<li><a href="#clone()" tabindex="0">clone()</a></li>
<li><a href="#next(int)" tabindex="0">next(int)</a></li>
<li><a href="#nextGaussian()" tabindex="0">nextGaussian()</a></li>
<li><a href="#nextInt(int)" tabindex="0">nextInt(int)</a></li>
<li><a href="#nextInt()" tabindex="0">nextInt()</a></li>
<li><a href="#nextFloat()" tabindex="0">nextFloat()</a></li>
<li><a href="#nextLong()" tabindex="0">nextLong()</a></li>
<li><a href="#nextBytes(byte%5B%5D)" tabindex="0">nextBytes(byte[])</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Class XSTR" class="title">Class XSTR</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">java.util.Random</a>
<div class="inheritance">com.gtnewhorizon.structurelib.util.XSTR</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
</dl>
<hr>
<div class="horizontal-scroll">
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">XSTR</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></span></div>
<div class="block">XSTR - Xorshift ThermiteRandom Modified by Bogdan-G 03.06.2016 version 0.0.4</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="../../../../serialized-form.html#com.gtnewhorizon.structurelib.util.XSTR">Serialized Form</a></li>
</ul>
</dd>
</dl>
</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h3 id="nested-classes-inherited-from-class-java.util.random.RandomGenerator">Nested classes/interfaces inherited from interface&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nested-class-summary" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.ArbitrarilyJumpableGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator.ArbitrarilyJumpableGenerator</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.JumpableGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator.JumpableGenerator</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.LeapableGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator.LeapableGenerator</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator.SplittableGenerator</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.StreamableGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator.StreamableGenerator</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="XSTR.html" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></code></div>
<div class="col-second even-row-color"><code><a href="#XSTR_INSTANCE" class="member-name-link">XSTR_INSTANCE</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">XSTR</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new pseudo random number generator.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(long)" class="member-name-link">XSTR</a><wbr>(long&nbsp;seed)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates a new pseudo random number generator, starting with the specified seed, using
<code>setSeed(seed);</code>.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="XSTR.html" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clone()" class="member-name-link">clone</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSeed()" class="member-name-link">getSeed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the current state of the seed, can be used to clone the object</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#next(int)" class="member-name-link">next</a><wbr>(int&nbsp;nbits)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Implementation of George Marsaglia's elegant Xorshift random generator 30% faster and better quality than the
built-in java.util.random see also see http://www.javamex.com/tutorials/random_numbers/xorshift.shtml</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextBoolean()" class="member-name-link">nextBoolean</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextBytes(byte%5B%5D)" class="member-name-link">nextBytes</a><wbr>(byte[]&nbsp;bytes_arr)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextDouble()" class="member-name-link">nextDouble</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>float</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextFloat()" class="member-name-link">nextFloat</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextGaussian()" class="member-name-link">nextGaussian</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextInt()" class="member-name-link">nextInt</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextInt(int)" class="member-name-link">nextInt</a><wbr>(int&nbsp;bound)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a pseudorandom, uniformly distributed <code>int</code> value between 0 (inclusive) and the specified value
(exclusive), drawn from this random number generator's sequence.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#nextLong()" class="member-name-link">nextLong</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSeed(long)" class="member-name-link">setSeed</a><wbr>(long&nbsp;seed)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the seed for this pseudo random number generator.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.util.Random">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#method-summary" title="class or interface in java.util" class="external-link">Random</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#doubles()" title="class or interface in java.util" class="external-link">doubles</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#doubles(double,double)" title="class or interface in java.util" class="external-link">doubles</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#doubles(long)" title="class or interface in java.util" class="external-link">doubles</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#doubles(long,double,double)" title="class or interface in java.util" class="external-link">doubles</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#from(java.util.random.RandomGenerator)" title="class or interface in java.util" class="external-link">from</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#ints()" title="class or interface in java.util" class="external-link">ints</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#ints(int,int)" title="class or interface in java.util" class="external-link">ints</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#ints(long)" title="class or interface in java.util" class="external-link">ints</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#ints(long,int,int)" title="class or interface in java.util" class="external-link">ints</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#longs()" title="class or interface in java.util" class="external-link">longs</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#longs(long)" title="class or interface in java.util" class="external-link">longs</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#longs(long,long)" title="class or interface in java.util" class="external-link">longs</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#longs(long,long,long)" title="class or interface in java.util" class="external-link">longs</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#method-summary" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.util.random.RandomGenerator">Methods inherited from interface&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#method-summary" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#equiDoubles(double,double,boolean,boolean)" title="class or interface in java.util.random" class="external-link">equiDoubles</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#isDeprecated()" title="class or interface in java.util.random" class="external-link">isDeprecated</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextDouble(double)" title="class or interface in java.util.random" class="external-link">nextDouble</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextDouble(double,double)" title="class or interface in java.util.random" class="external-link">nextDouble</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextExponential()" title="class or interface in java.util.random" class="external-link">nextExponential</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextFloat(float)" title="class or interface in java.util.random" class="external-link">nextFloat</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextFloat(float,float)" title="class or interface in java.util.random" class="external-link">nextFloat</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextGaussian(double,double)" title="class or interface in java.util.random" class="external-link">nextGaussian</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextInt(int,int)" title="class or interface in java.util.random" class="external-link">nextInt</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextLong(long)" title="class or interface in java.util.random" class="external-link">nextLong</a>, <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextLong(long,long)" title="class or interface in java.util.random" class="external-link">nextLong</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="XSTR_INSTANCE">
<h3>XSTR_INSTANCE</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="XSTR.html" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></span>&nbsp;<span class="element-name">XSTR_INSTANCE</span></div>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>XSTR</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">XSTR</span>()</div>
<div class="block">Creates a new pseudo random number generator. The seed is initialized to the current time, as if by
<code>setSeed(System.currentTimeMillis());</code>.</div>
</div>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(long)">
<h3>XSTR</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">XSTR</span><wbr><span class="parameters">(long&nbsp;seed)</span></div>
<div class="block">Creates a new pseudo random number generator, starting with the specified seed, using
<code>setSeed(seed);</code>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>seed</code> - the initial seed</dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="nextBoolean()">
<h3>nextBoolean</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">nextBoolean</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextBoolean()" title="class or interface in java.util.random" class="external-link">nextBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextBoolean()" title="class or interface in java.util" class="external-link">nextBoolean</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextDouble()">
<h3>nextDouble</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">nextDouble</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextDouble()" title="class or interface in java.util.random" class="external-link">nextDouble</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextDouble()" title="class or interface in java.util" class="external-link">nextDouble</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="getSeed()">
<h3>getSeed</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getSeed</span>()</div>
<div class="block">Returns the current state of the seed, can be used to clone the object</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the current seed</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="setSeed(long)">
<h3>setSeed</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setSeed</span><wbr><span class="parameters">(long&nbsp;seed)</span></div>
<div class="block">Sets the seed for this pseudo random number generator. As described above, two instances of the same random
class, starting with the same seed, produce the same results, if the same methods are called.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#setSeed(long)" title="class or interface in java.util" class="external-link">setSeed</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
<dt>Parameters:</dt>
<dd><code>seed</code> - the new seed</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="clone()">
<h3>clone</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="XSTR.html" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></span>&nbsp;<span class="element-name">clone</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Returns:</dt>
<dd>Returns an XSRandom object with the same state as the original</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="next(int)">
<h3>next</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">next</span><wbr><span class="parameters">(int&nbsp;nbits)</span></div>
<div class="block">Implementation of George Marsaglia's elegant Xorshift random generator 30% faster and better quality than the
built-in java.util.random see also see http://www.javamex.com/tutorials/random_numbers/xorshift.shtml</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#next(int)" title="class or interface in java.util" class="external-link">next</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
<dt>Parameters:</dt>
<dd><code>nbits</code> - will shift nbits bits</dd>
<dt>Returns:</dt>
<dd>next seed</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextGaussian()">
<h3>nextGaussian</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">nextGaussian</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextGaussian()" title="class or interface in java.util.random" class="external-link">nextGaussian</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextGaussian()" title="class or interface in java.util" class="external-link">nextGaussian</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextInt(int)">
<h3>nextInt</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">nextInt</span><wbr><span class="parameters">(int&nbsp;bound)</span></div>
<div class="block">Returns a pseudorandom, uniformly distributed <code>int</code> value between 0 (inclusive) and the specified value
(exclusive), drawn from this random number generator's sequence. The general contract of <code>nextInt</code> is that
one <code>int</code> value in the specified range is pseudorandomly generated and returned. All <code>bound</code> possible
<code>int</code> values are produced with (approximately) equal probability. The method <code>nextInt(int bound)</code> is
implemented by class <code>Random</code> as if by:
<pre>
<code>
public int nextInt(int bound) {
if (bound &lt;= 0)
throw new IllegalArgumentException("bound must be positive");
if ((bound &amp; -bound) == bound) // i.e., bound is a power of 2
return (int)((bound * (long)next(31)) &gt;&gt; 31);
int bits, val;
do {
bits = next(31);
val = bits % bound;
} while (bits - val + (bound-1) &lt; 0);
return val;
}</code>
</pre>
<p>
The hedge "approx imately" is used in the foregoing description only because the next method is only
approximately an unbiased source of independently chosen bits. If it were a perfect source of randomly chosen
bits, then the algorithm shown would choose <code>int</code> values from the stated range with perfect uniformity.
<p>
The algorithm is slightly tricky. It rejects values that would result in an uneven distribution (due to the fact
that 2^31 is not divisible by n). The probability of a value being rejected depends on n. The worst case is
n=2^30+1, for which the probability of a reject is 1/2, and the expected number of iterations before the loop
terminates is 2.
<p>
The algorithm treats the case where n is a power of two specially: it returns the correct number of high-order
bits from the underlying pseudo-random number generator. In the absence of special treatment, the correct number
of <i>low-order</i> bits would be returned. Linear congruential pseudo-random number generators such as the one
implemented by this class are known to have short periods in the sequence of values of their low-order bits.
Thus, this special case greatly increases the length of the sequence of values returned by successive calls to
this method if n is a small power of two.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextInt(int)" title="class or interface in java.util.random" class="external-link">nextInt</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextInt(int)" title="class or interface in java.util" class="external-link">nextInt</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
<dt>Parameters:</dt>
<dd><code>bound</code> - the upper bound (exclusive). Must be positive.</dd>
<dt>Returns:</dt>
<dd>the next pseudorandom, uniformly distributed <code>int</code> value between zero (inclusive) and <code>bound</code>
(exclusive) from this random number generator's sequence</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if bound is not positive</dd>
<dt>Since:</dt>
<dd>1.2</dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextInt()">
<h3>nextInt</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">nextInt</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextInt()" title="class or interface in java.util.random" class="external-link">nextInt</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextInt()" title="class or interface in java.util" class="external-link">nextInt</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextFloat()">
<h3>nextFloat</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">float</span>&nbsp;<span class="element-name">nextFloat</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextFloat()" title="class or interface in java.util.random" class="external-link">nextFloat</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextFloat()" title="class or interface in java.util" class="external-link">nextFloat</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextLong()">
<h3>nextLong</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">nextLong</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextLong()" title="class or interface in java.util.random" class="external-link">nextLong</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextLong()" title="class or interface in java.util" class="external-link">nextLong</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
<li>
<section class="detail" id="nextBytes(byte[])">
<h3>nextBytes</h3>
<div class="horizontal-scroll">
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">nextBytes</span><wbr><span class="parameters">(byte[]&nbsp;bytes_arr)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html#nextBytes(byte%5B%5D)" title="class or interface in java.util.random" class="external-link">nextBytes</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html#nextBytes(byte%5B%5D)" title="class or interface in java.util" class="external-link">nextBytes</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" title="class or interface in java.util" class="external-link">Random</a></code></dd>
</dl>
</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</body>
</html>
@@ -0,0 +1,137 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.util (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: com.gtnewhorizon.structurelib.util">
<meta name="generator" content="javadoc/PackageWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</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="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.util</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Description</a></li>
<li><a href="#related-package-summary" tabindex="0">Related Packages</a></li>
<li><a href="#class-summary" tabindex="0">Classes and Interfaces</a></li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Package com.gtnewhorizon.structurelib.util" class="title">Package com.gtnewhorizon.structurelib.util</h1>
</div>
<hr>
<div class="horizontal-scroll">
<div class="package-signature">package <span class="element-name">com.gtnewhorizon.structurelib.util</span></div>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">com.gtnewhorizon.structurelib</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="../alignment/package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last odd-row-color">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first even-row-color"><a href="../structure/package-summary.html">com.gtnewhorizon.structurelib.structure</a></div>
<div class="col-last even-row-color">
<div class="block">This package provide support for multiblock structure checking.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enum Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel" aria-labelledby="class-summary-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="InventoryIterable.html" title="class in com.gtnewhorizon.structurelib.util">InventoryIterable</a>&lt;Inv extends <a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/inventory/IInventory.html" title="class or interface in net.minecraft.inventory" class="external-link">IInventory</a>&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">This class is part of API, but is not stable.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="InventoryUtility.InventoryProvider.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;R extends <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/net/minecraft/item/ItemStack.html" title="class or interface in net.minecraft.item" class="external-link">ItemStack</a>&gt;&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="InventoryUtility.ItemStackCounter.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="InventoryUtility.ItemStackExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="InventoryUtility.ItemStackExtractor.APIType.html" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="InventoryUtility.OptimizedExtractor.html" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ItemStackPredicate.html" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="ItemStackPredicate.NBTMode.html" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="MiscUtils.html" title="class in com.gtnewhorizon.structurelib.util">MiscUtils</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">not related to a certain mod!</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SortedRegistry.html" title="class in com.gtnewhorizon.structurelib.util">SortedRegistry</a>&lt;V&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Vec3Impl.html" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="XSTR.html" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">XSTR - Xorshift ThermiteRandom Modified by Bogdan-G 03.06.2016 version 0.0.4</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
@@ -0,0 +1,107 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>com.gtnewhorizon.structurelib.util Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: com.gtnewhorizon.structurelib.util">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css">
<script type="text/javascript" src="../../../../script-files/script.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">const pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../search.html">Search</a></li>
<li><a href="../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list">
<li><a href="package-summary.html" class="current-selection">com.gtnewhorizon.structurelib.util</a></li>
</ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package com.gtnewhorizon.structurelib.util</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../overview-tree.html">All Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryIterable.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">InventoryIterable</a>&lt;Inv&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="ItemStackPredicate.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a> (implements java.util.function.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="MiscUtils.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">MiscUtils</a></li>
<li class="circle">java.util.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" class="type-name-link external-link" title="class or interface in java.util">Random</a> (implements java.util.random.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
<ul>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="XSTR.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="SortedRegistry.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">SortedRegistry</a>&lt;V&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="Vec3Impl.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;)</li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryUtility.InventoryProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;R&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryUtility.ItemStackCounter.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryUtility.ItemStackExtractor.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryUtility.OptimizedExtractor.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a></li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
<ul>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="InventoryUtility.ItemStackExtractor.APIType.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="ItemStackPredicate.NBTMode.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a> (implements java.util.function.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html" title="class or interface in java.util.function" class="external-link">BiPredicate</a>&lt;T,<wbr>U&gt;)</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
+133
View File
@@ -0,0 +1,133 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Constant Field Values (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="summary of constants">
<meta name="generator" content="javadoc/ConstantsSummaryWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="constants-summary-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li><a href="overview-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="search.html">Search</a></li>
<li><a href="help-doc.html#constant-values">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" disabled placeholder="Filter contents (type .)" aria-label="Filter table of contents" autocomplete="off" spellcheck="false"><input type="reset" class="reset-filter" disabled tabindex="-1" value="Reset"></div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">Constant Field Values</a>
<ol class="toc-list">
<li><a href="#com.gtnewhorizon" tabindex="0">com.gtnewhorizon.*</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<div class="header">
<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
</div>
<section class="constants-summary" id="com.gtnewhorizon">
<h2 title="com.gtnewhorizon.*">com.gtnewhorizon.*</h2>
<ul class="block-list">
<li>
<div class="caption"><span>com.gtnewhorizon.structurelib.<a href="com/gtnewhorizon/structurelib/StructureLibAPI.html" title="class in com.gtnewhorizon.structurelib">StructureLibAPI</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Constant Field</div>
<div class="table-header col-last">Value</div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.CHANNEL_SHOW_ERROR">public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#CHANNEL_SHOW_ERROR">CHANNEL_SHOW_ERROR</a></code></div>
<div class="col-last even-row-color"><code>"show_error"</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_AIR">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_AIR">HINT_BLOCK_META_AIR</a></code></div>
<div class="col-last odd-row-color"><code>13</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_DEFAULT">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_DEFAULT">HINT_BLOCK_META_DEFAULT</a></code></div>
<div class="col-last even-row-color"><code>12</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_ERROR">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_ERROR">HINT_BLOCK_META_ERROR</a></code></div>
<div class="col-last odd-row-color"><code>15</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_0">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_0">HINT_BLOCK_META_GENERIC_0</a></code></div>
<div class="col-last even-row-color"><code>0</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_1">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_1">HINT_BLOCK_META_GENERIC_1</a></code></div>
<div class="col-last odd-row-color"><code>1</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_10">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_10">HINT_BLOCK_META_GENERIC_10</a></code></div>
<div class="col-last even-row-color"><code>10</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_11">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_11">HINT_BLOCK_META_GENERIC_11</a></code></div>
<div class="col-last odd-row-color"><code>11</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_2">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_2">HINT_BLOCK_META_GENERIC_2</a></code></div>
<div class="col-last even-row-color"><code>2</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_3">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_3">HINT_BLOCK_META_GENERIC_3</a></code></div>
<div class="col-last odd-row-color"><code>3</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_4">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_4">HINT_BLOCK_META_GENERIC_4</a></code></div>
<div class="col-last even-row-color"><code>4</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_5">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_5">HINT_BLOCK_META_GENERIC_5</a></code></div>
<div class="col-last odd-row-color"><code>5</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_6">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_6">HINT_BLOCK_META_GENERIC_6</a></code></div>
<div class="col-last even-row-color"><code>6</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_7">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_7">HINT_BLOCK_META_GENERIC_7</a></code></div>
<div class="col-last odd-row-color"><code>7</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_8">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_8">HINT_BLOCK_META_GENERIC_8</a></code></div>
<div class="col-last even-row-color"><code>8</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_GENERIC_9">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_GENERIC_9">HINT_BLOCK_META_GENERIC_9</a></code></div>
<div class="col-last odd-row-color"><code>9</code></div>
<div class="col-first even-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.HINT_BLOCK_META_NOT_AIR">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#HINT_BLOCK_META_NOT_AIR">HINT_BLOCK_META_NOT_AIR</a></code></div>
<div class="col-last even-row-color"><code>14</code></div>
<div class="col-first odd-row-color"><code id="com.gtnewhorizon.structurelib.StructureLibAPI.MOD_ID">public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color"><code><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#MOD_ID">MOD_ID</a></code></div>
<div class="col-last odd-row-color"><code>"structurelib"</code></div>
</div>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
+141
View File
@@ -0,0 +1,141 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Deprecated List (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="deprecated elements">
<meta name="generator" content="javadoc/DeprecatedListWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="deprecated-list-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="search.html">Search</a></li>
<li><a href="help-doc.html#deprecated">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
</div>
<h2 title="Contents">Contents</h2>
<ul class="contents-list">
<li id="contents-method"><a href="#method">Methods</a></li>
</ul>
<ul class="block-list">
<li>
<div id="method">
<div class="caption"><span>Deprecated Methods</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html#__get_player()">com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable.__get_player()</a></div>
<div class="col-last even-row-color"></div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html#survivalConstruct(net.minecraft.item.ItemStack,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP)">com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable.survivalConstruct<wbr>(ItemStack, int, IItemSource, EntityPlayerMP)</a></div>
<div class="col-last odd-row-color"></div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)">com.gtnewhorizon.structurelib.structure.IStructureDefinition.survivalBuild<wbr>(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int, int, IItemSource, EntityPlayerMP, boolean)</a></div>
<div class="col-last even-row-color"></div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html#survivalPlaceBlock(T,net.minecraft.world.World,int,int,int,net.minecraft.item.ItemStack,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,java.util.function.Consumer)">com.gtnewhorizon.structurelib.structure.IStructureElement.survivalPlaceBlock<wbr>(T, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, Consumer&lt;IChatComponent&gt;)</a></div>
<div class="col-last odd-row-color">
<div class="block">caller should call the non deprecated overload. implementor for reusable <a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a>
should still implement this. implementor for private implementations can freely ignore this as long
as you know the caller will not call this overload.</div>
</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureDefinition.Builder.html#addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)">com.gtnewhorizon.structurelib.structure.StructureDefinition.Builder.addElement<wbr>(Character, IStructureElement&lt;T&gt;)</a></div>
<div class="col-last even-row-color">
<div class="block">use the unboxed version</div>
</div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.BiFunction,java.util.Map)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(BiFunction&lt;T, ItemStack, K&gt;, Map&lt;K, IStructureElement&lt;T&gt;&gt;)</a></div>
<div class="col-last odd-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.BiFunction,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(BiFunction&lt;T, ItemStack, K&gt;, Map&lt;K, IStructureElement&lt;T&gt;&gt;, IStructureElement&lt;T&gt;)</a></div>
<div class="col-last even-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,com.gtnewhorizon.structurelib.structure.IStructureElement...)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, Integer&gt;, IStructureElement&lt;T&gt;...)</a></div>
<div class="col-last odd-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.function.BiFunction,com.gtnewhorizon.structurelib.structure.IStructureElement...)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, Integer&gt;, BiFunction&lt;T, ItemStack, Integer&gt;, IStructureElement&lt;T&gt;...)</a></div>
<div class="col-last even-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.function.BiFunction,java.util.List)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, Integer&gt;, BiFunction&lt;T, ItemStack, Integer&gt;, List&lt;IStructureElement&lt;T&gt;&gt;)</a></div>
<div class="col-last odd-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.List)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, Integer&gt;, List&lt;IStructureElement&lt;T&gt;&gt;)</a></div>
<div class="col-last even-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.function.BiFunction,java.util.Map)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, K&gt;, BiFunction&lt;T, ItemStack, K&gt;, Map&lt;K, IStructureElement&lt;T&gt;&gt;)</a></div>
<div class="col-last odd-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.function.BiFunction,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, K&gt;, BiFunction&lt;T, ItemStack, K&gt;, Map&lt;K, IStructureElement&lt;T&gt;&gt;, IStructureElement&lt;T&gt;)</a></div>
<div class="col-last even-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.Map)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, K&gt;, Map&lt;K, IStructureElement&lt;T&gt;&gt;)</a></div>
<div class="col-last odd-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name even-row-color"><a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html#defer(java.util.function.Function,java.util.Map,com.gtnewhorizon.structurelib.structure.IStructureElement)">com.gtnewhorizon.structurelib.structure.StructureUtility.defer<wbr>(Function&lt;T, K&gt;, Map&lt;K, IStructureElement&lt;T&gt;&gt;, IStructureElement&lt;T&gt;)</a></div>
<div class="col-last even-row-color">
<div class="block">renamed to partitionBy</div>
</div>
<div class="col-summary-item-name odd-row-color"><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#isBlockTriviallyReplaceable(net.minecraft.world.World,int,int,int,net.minecraft.entity.player.EntityPlayerMP)">com.gtnewhorizon.structurelib.StructureLibAPI.isBlockTriviallyReplaceable<wbr>(World, int, int, int, EntityPlayerMP)</a></div>
<div class="col-last odd-row-color"></div>
</div>
</div>
</li>
</ul>
<script type="text/javascript">document.addEventListener("DOMContentLoaded", (e) => {
document.querySelectorAll('main input[type="checkbox"]').forEach((c) => {
c.disabled = false;
c.onclick();
});
});
window.addEventListener("load", function(e) {
document.querySelectorAll('main input[type="checkbox"]').forEach((c) => {
c.onclick();
});
});
</script>
</main>
</div>
</body>
</html>
+7
View File
@@ -0,0 +1,7 @@
com.gtnewhorizon.structurelib
com.gtnewhorizon.structurelib.alignment
com.gtnewhorizon.structurelib.alignment.constructable
com.gtnewhorizon.structurelib.alignment.enumerable
com.gtnewhorizon.structurelib.structure
com.gtnewhorizon.structurelib.structure.adders
com.gtnewhorizon.structurelib.util
+225
View File
@@ -0,0 +1,225 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>API Help (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="help">
<meta name="generator" content="javadoc/HelpWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="help-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li><a href="overview-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="search.html">Search</a></li>
<li class="nav-bar-cell1-rev">Help</li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<nav role="navigation" class="toc" aria-label="Table of contents">
<div class="toc-header">Contents</div>
<ol class="toc-list" tabindex="-1">
<li><a href="#" tabindex="0">JavaDoc Help</a>
<ol class="toc-list">
<li><a href="#help-navigation" tabindex="0">Navigation</a>
<ol class="toc-list">
<li><a href="#search" tabindex="0">Search</a></li>
<li><a href="#help-keyboard-navigation" tabindex="0">Keyboard Navigation</a></li>
</ol>
</li>
<li><a href="#help-pages" tabindex="0">Kinds of Pages</a>
<ol class="toc-list">
<li><a href="#overview" tabindex="0">Overview</a></li>
<li><a href="#package" tabindex="0">Package</a></li>
<li><a href="#class" tabindex="0">Class or Interface</a></li>
<li><a href="#doc-file" tabindex="0">Other Files</a></li>
<li><a href="#tree" tabindex="0">Tree (Class Hierarchy)</a></li>
<li><a href="#deprecated" tabindex="0">Deprecated API</a></li>
<li><a href="#constant-values" tabindex="0">Constant Field Values</a></li>
<li><a href="#serialized-form" tabindex="0">Serialized Form</a></li>
<li><a href="#all-packages" tabindex="0">All Packages</a></li>
<li><a href="#all-classes" tabindex="0">All Classes and Interfaces</a></li>
<li><a href="#index" tabindex="0">Index</a></li>
</ol>
</li>
<li><a href="#help-releases" tabindex="0">Release Details</a></li>
</ol>
</li>
</ol>
<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img src="resource-files/left.svg" alt="Hide sidebar"></button><button class="show-sidebar"><img src="resource-files/right.svg" alt="Show sidebar"><span>&nbsp;Show sidebar</span></button></nav>
<main role="main">
<h1 class="title">JavaDoc Help</h1>
<hr>
<div class="sub-title">
<h2 id="help-navigation">Navigation</h2>
Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-all.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
<section class="help-section" id="search">
<h3>Search</h3>
<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API. These items can be searched using part or all of the name, optionally using "camelCase" abbreviations, or multiple search terms separated by whitespace. Some examples:</p>
<ol class="toc-list">
<li><code>"j.l.obj"</code> matches "java.lang.Object"</li>
<li><code>"InpStr"</code> matches "java.io.InputStream"</li>
<li><code>"math exact long"</code> matches "java.lang.Math.absExact(long)"</li>
</ol>
<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/25/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
</section>
<section class="help-section" id="help-keyboard-navigation">
<h3>Keyboard Navigation</h3>
<p>Documentation pages provide keyboard shortcuts to facilitate access to common navigation tasks.</p>
<ul>
<li>Type
<kbd>/</kbd>
to access the search input field in any page.</li>
<li>Type
<kbd>.</kbd>
to access the filter input field in the sidebar of class pages.</li>
<li>Type
<kbd>Esc</kbd>
to clear the input and release keyboard focus in any input field.</li>
<li>Type
<kbd>Tab</kbd>
/
<kbd>&downarrow;</kbd>
/
<kbd>&uparrow;</kbd>
to select list items after entering a search term in a search or filter input field.</li>
<li>Type
<kbd>&leftarrow;</kbd>
/
<kbd>&rightarrow;</kbd>
to switch between tabs in tabbed summary tables.</li>
</ul>
</section>
</div>
<hr>
<div class="sub-title">
<h2 id="help-pages">Kinds of Pages</h2>
The following sections describe the different kinds of pages in this collection.
<section class="help-section" id="overview">
<h3>Overview</h3>
<p>The <a href="index.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.</p>
</section>
<section class="help-section" id="package">
<h3>Package</h3>
<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
<ul class="help-section-list">
<li>Interfaces</li>
<li>Classes</li>
<li>Enum Classes</li>
<li>Exception Classes</li>
<li>Annotation Interfaces</li>
</ul>
</section>
<section class="help-section" id="class">
<h3>Class or Interface</h3>
<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
<ul class="help-section-list">
<li>Class Inheritance Diagram</li>
<li>Direct Subclasses</li>
<li>All Known Subinterfaces</li>
<li>All Known Implementing Classes</li>
<li>Class or Interface Declaration</li>
<li>Class or Interface Description</li>
</ul>
<br>
<ul class="help-section-list">
<li>Nested Class Summary</li>
<li>Enum Constant Summary</li>
<li>Field Summary</li>
<li>Property Summary</li>
<li>Constructor Summary</li>
<li>Method Summary</li>
<li>Required Element Summary</li>
<li>Optional Element Summary</li>
</ul>
<br>
<ul class="help-section-list">
<li>Enum Constant Details</li>
<li>Field Details</li>
<li>Property Details</li>
<li>Constructor Details</li>
<li>Method Details</li>
<li>Element Details</li>
</ul>
<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
</section>
<section class="help-section" id="doc-file">
<h3>Other Files</h3>
<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
</section>
<section class="help-section" id="tree">
<h3>Tree (Class Hierarchy)</h3>
<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
<ul class="help-section-list">
<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
</ul>
</section>
<section class="help-section" id="deprecated">
<h3>Deprecated API</h3>
<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
</section>
<section class="help-section" id="constant-values">
<h3>Constant Field Values</h3>
<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
</section>
<section class="help-section" id="serialized-form">
<h3>Serialized Form</h3>
<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.</p>
</section>
<section class="help-section" id="all-packages">
<h3>All Packages</h3>
<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
</section>
<section class="help-section" id="all-classes">
<h3>All Classes and Interfaces</h3>
<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
</section>
<section class="help-section" id="index">
<h3>Index</h3>
<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
</section>
</div>
<hr>
<div class="sub-title">
<h2 id="help-releases">Release Details</h2>
<p>The details for each module, package, class or interface normally include the release in which the declaration was introduced.</p>
<p>When a member is added after the initial introduction of the enclosing class or interface, the details of the member include the release in which it was introduced.</p>
<p>Some summary pages (New API, Deprecated) allow you to filter the contents of the page according to the release in which the declaration was introduced or deprecated.</p>
</div>
<hr>
<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
</div>
</body>
</html>
File diff suppressed because it is too large. Load diff
+460
View File
@@ -0,0 +1,460 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Overview (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/PackageIndexWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="package-index-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li class="nav-bar-cell1-rev">Overview</li>
<li><a href="overview-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="search.html">Search</a></li>
<li><a href="help-doc.html#overview">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">StructureLib 1.4.47 API</h1>
</div>
<div class="block">StructureLib API documentation.
<h1 id="key-api-class-outline-heading">Key API class outline</h1>
<p>
Here we outline a few key API classes/interfaces.
</p>
<h2 id="com-gtnewhorizon-structurelib-structure-istructuredefinition-heading"> <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureDefinition</code></a></h2>
<p>
This is the structure definition of your multi.
You will have one `IStructureDefinition` for each multi.
</p>
<h2 id="com-gtnewhorizon-structurelib-structure-istructureelement-heading"> <a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a></h2>
<p>
These are how you define which block will be accepted.
</p>
<h2 id="com-gtnewhorizon-structurelib-structure-structureutility-heading"> <a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html" title="class in com.gtnewhorizon.structurelib.structure"><code>StructureUtility</code></a></h2>
<p>
This is the standard library of <a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a>s.
The Standard Library contains structure elements that handle basic block element and elements that allow composing
these basic elements.
</p>
<h2 id="com-gtnewhorizon-structurelib-alignment-constructable-iconstructable-heading"> <a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>IConstructable</code></a></h2>
<p>
This interface should be implemented by tile entities that support creative autoplacing and hint particle emitting.
You will usually want to have a backing <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureDefinition</code></a>
and call its <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html#build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>build()</code></a>
or <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html#hints(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"><code>hints()</code></a> method here.
</p>
<h2 id="com-gtnewhorizon-structurelib-alignment-constructable-isurvivalconstructable-heading"> <a href="com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>ISurvivalConstructable</code></a></h2>
<p>
This interface is an enhancement over <a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>IConstructable</code></a>.
If your tile entities also support survival autoplacing then you should implement this.
You will usually want to have a backing <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureDefinition</code></a>
and call its <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html#survivalBuild(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,int,com.gtnewhorizon.structurelib.structure.IItemSource,net.minecraft.entity.player.EntityPlayerMP,boolean)"><code>survivalBuild()</code></a>.
</p>
<h2 id="com-gtnewhorizon-structurelib-alignment-constructable-iconstructableprovider-heading"><a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructableProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment.constructable"><code>IConstructableProvider</code></a></h2>
<p>
This interface should be implemented on tile entities that will delegate all constructable or survival construable
functionality to some other class.
This is mostly only to support gregtech meta tile entity system.
</p>
<p>
Return null if the delegate does not exist.
</p>
<h2 id="com-gtnewhorizon-structurelib-util-inventoryutility-heading"><a href="com/gtnewhorizon/structurelib/util/InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util"><code>InventoryUtility</code></a></h2>
<p>
This class backs the standard implementations of <a href="com/gtnewhorizon/structurelib/structure/IItemSource.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IItemSource</code></a>.
You might want to register new inventory provider or inventory extractor there to facilitate survival auto place.
</p>
<h2 id="com-gtnewhorizon-structurelib-alignment-ialignmentprovider-com-gtnewhorizon-structurelib-alignment-ialignment-and-com-gtnewhorizon-structurelib-alignment-ialignmentlimits-heading"><a href="com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment"><code>IAlignmentProvider</code></a>, <a href="com/gtnewhorizon/structurelib/alignment/IAlignment.html" title="interface in com.gtnewhorizon.structurelib.alignment"><code>IAlignment</code></a> and <a href="com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment"><code>IAlignmentLimits</code></a></h2>
<p>
These interfaces will be used to implement rotation.
Provide a framework to rotate the block.
You can skip this if you store ExtendedFacing and do rotation in other means.
</p>
<h2 id="com-gtnewhorizon-structurelib-alignment-constructable-channeldataaccessor-heading"><a href="com/gtnewhorizon/structurelib/alignment/constructable/ChannelDataAccessor.html" title="class in com.gtnewhorizon.structurelib.alignment.constructable"><code>ChannelDataAccessor</code></a></h2>
<p>
This class contains the accessors for channel data held on a trigger item. See <a href="#channels">below</a> for more
information.
</p>
<h2 id="com-gtnewhorizon-structurelib-structurelibapi-heading"><a href="com/gtnewhorizon/structurelib/StructureLibAPI.html" title="class in com.gtnewhorizon.structurelib"><code>StructureLibAPI</code></a></h2>
<p>
This class contains the low level utility used for implementing new <a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a>.
You will also need methods in this class to while implementing rotation.
</p>
<p>
<b>IF THERE IS A SAME NAMED METHOD IN OTHER CLASS, ONLY USE METHODS FOUND IN THIS CLASS, NOT OTHER CLASS.</b>
This abstraction is necessary so we can change how underlying code work (e.g. how hint particles are rendered)
without
breaking client code.
</p>
<h2 id="com-gtnewhorizon-structurelib-structureevent-heading"><a href="com/gtnewhorizon/structurelib/StructureEvent.html" title="class in com.gtnewhorizon.structurelib"><code>StructureEvent</code></a></h2>
<p>
This class is the base class of all events that will be posted while a IStructureDefinition are visited.
These events are disabled by default, and can be enabled by calling <a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#enableInstrument(java.lang.Object)"><code>StructureLibAPI.enableInstrument(Object)</code></a>.
To receive these events, register an event handler to <code>MinecraftForge.EVENT_BUS</code>.
Handlers should filter the events received by <a href="com/gtnewhorizon/structurelib/StructureEvent.html#getInstrumentIdentifier()"><code>StructureEvent.getInstrumentIdentifier()</code></a>.
</p>
<p>
<b>These events are intended for third party tools to inspect structure details.</b> Normal users should not use
these at all.
</p>
<h1 id="important-concepts-heading">Important Concepts</h1>
<h2 id="context-object-heading">Context Object</h2>
<p>
Context Object are what you pass to <a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html#check(T,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int,boolean)"><code>IStructureDefinition.check(Object, String, World, ExtendedFacing, int, int, int, int, int, int, boolean)</code></a> and alike as first parameter. It will hold the necessary states for <a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" title="interface in com.gtnewhorizon.structurelib.structure"><code>IStructureElement</code></a>. It's usually, but not necessarily, the multiblock controller.
</p>
<p>
Standard structure element library offers method to switch context objects if needed.
</p>
<h2 id="trigger-item-heading">Trigger Item</h2>
<p>
Trigger Item is the item used to trigger hint spawn, creative build and survival auto place.
The trigger item will be passed to relevant classes as an indicator of structure tier.
The item type and stack tag compound of this item stack are opaque objects that should not be parsed.
</p>
<p>
StructureLib comes with a trigger item implementation.
It does register it to the game registries, but does not come with a recipe.
Usually there is no reason to reimplement this on your own.
</p>
<h2><a href="#channels" id="channels">Channels</a></h2>
<p>
Trigger item carries the player's choice of structure tier by its stack size.
When one multi have multiple tiered component that can have interleaving tier, this becomes an obnoxious
restriction, as one ItemStack cannot have two stack sizes at the same time.
Here we use the <i>channels</i> to bypass this restriction.
</p>
<p>
Basically, channels are information stored on the trigger item's NBT tags.
One trigger item can carry multiple channels.
Each channel can be identified with <b>lower case</b> strings and has the value being one positive Java int.
There will be one and only one master channel and 0 or more sub channel.
When a non-existent sub channel is queried, master channel will be used instead to fill its place.
</p>
<p>
Structure Definition Author and/or Structure Element Author can choose whether they use a channel and which channel
to use.
</p>
<p>
Structure Element Author will usually not need to consider channels, i.e. proceed as if this concept does not exist,
unless it must take input from multiple channels.
</p>
<p>
Structure Definition Author will consider how to map each channel to each tiered component.
He will be using `com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel` to direct structure element
on which channel to use.
Conceptually, it will return an ItemStack with the master channel being the value of selected channel.
In implementation, withChannel will return a new ItemStack with same item, nbt but different stack size.
</p>
<p>
It's worth mentioning that the returned new ItemStack will still have all the channel data on it, so a multi-channel
structure element can still query the channel it wants just fine. It is however impossible to recover the original
master channel.
</p>
<h3 id="metadata-only-channels-heading">Metadata-only channels</h3>
<p>
A channel does not need to represent a block or an element in a structure shape. Structure definitions can declare
metadata-only channels for values such as a widget selection or a variable structure height. These declarations are
independent of <code>addElement</code> and do not require a fake block or a shape character.
</p>
<pre>
IStructureDefinition.&lt;Controller&gt;builder()
.addChannel("height", 3, 100)
.addChannel("length", 4, 50)
.addChannel(IChannelDefinition.unbounded("widget"))
.addElement('A', ...)
.build();
</pre>
<p>
Channel values are still stored as integers in the trigger item's <code>channels</code> NBT compound. The
generic channel GUI has no active structure definition, so it edits integers and does not impose one
structure's range on every other structure using the same channel name. Structure-aware code reads values through
<code>IStructureDefinition#getChannelData</code>, which uses the definition's default when the subchannel is absent
and then applies that definition's local normalization policy.
</p>
<p>
Existing elements wrapped with <code>StructureUtility.withChannel</code> are discovered automatically. An explicit
channel declaration supplies its local range and normalization policy for that structure. The same channel name may
therefore use different ranges in different structure definitions.
</p>
<h3 id="why-is-this-called-channel--heading">why is this called channel?</h3>
Just give me a better name and I'd do the renaming.
<h3 id="channel-descriptions-heading">Channel Descriptions</h3>
<p>
Each channel can have one description associated with it per mod.
Channel description should briefly describe how a specific channel is used for inside a specific mod.
They will be displayed to player in channel editor GUI that comes with StructureLib.
The registration process can be done either via direct method call to <a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#registerChannelDescription(java.lang.String,java.lang.String,java.lang.String)"><code>StructureLibAPI.registerChannelDescription(String, String, String)</code></a>,
or by sending an IMC message.
After registration, the channel will also show up as autocomplete options when players are editing channels.
</p>
<p>
Here is an example of sending an IMC message to register two channels and their description.
In this example, we assume your modid is <code>my_mod</code> and your mod will ship with localization entries for
localization key <code>channels.my_mod.channel_1</code> and <code>channels.my_mod.channel_2</code>
</p>
<pre>
NBTTagCompound command = new NBTTagCompound();
NBTTagList tags = new NBTTagList();
String[] channels = {"channel_1", "channel_2"};
for (String channel : channels) {
NBTTagCompound tag = new NBTTagCompound();
tag.setString("Channel", channel);
tag.setString("Description", "channels.my_mod." + channel);
tags.appendTag(tag);
}
command.setTag("Channels", tags);
FMLInterModComms.sendMessage("structurelib", "register_channel", command);
</pre>
<p>
There is no strict rules over whether you should do direct API method call or send IMC messages.
You can choose whichever you prefer.
</p>
<h3 id="channel-indicator-items-heading">Channel Indicator Items</h3>
<p>
You can associate an ItemStack with a given (channel, value) pair.
It is usually (but not required to be) the ItemBlock for the blocks to be placed by this (channel, value) pair.
Player will be able to drag and drop this item to the builtin channel configuration GUI.
The registration process can be done either via direct method call to <a href="com/gtnewhorizon/structurelib/StructureLibAPI.html#registerChannelItem(java.lang.String,java.lang.String,int,net.minecraft.item.ItemStack)"><code>StructureLibAPI.registerChannelItem(String, String, int, net.minecraft.item.ItemStack)</code></a>,
or by sending an IMC message.
After registration, the channel will also show up as autocomplete options when players are editing channels.
</p>
<p>
Here is an example of sending an IMC message to register 3 vanilla sandstone as different indicator for channel "sandstone", with block metadata plus 1 as channel value.
In this example, we assume your modid is <code>my_mod</code>.
</p>
<pre>
NBTTagCompound command = new NBTTagCompound();
NBTTagList items = new NBTTagList();
int[] metas = {0, 1, 2};
for (int meta : metas) {
NBTTagCompound tag = new NBTTagCompound();
tag.setTag("Item", new ItemStack(Blocks.sandstone, 1, meta).writeToNBT(new NBTTagCompound()));
NBTTagList channels = new NBTTagList();
NBTTagCompound channel = new NBTTagCompound();
channel.setString("Channel", "sandstone");
channel.setInteger("Value", meta + 1);
channels.appendTag(channel);
tag.setTag("Channels", channels);
items.appendTag(tag);
}
command.setTag("Items", items);
FMLInterModComms.sendMessage("structurelib", "register_channel_item", command);
</pre>
<p>
There is no strict rules over whether you should do direct API method call or send IMC messages.
You can choose whichever you prefer.
</p>
<h3 id="examples-heading">Examples</h3>
<h4 id="for-structure-definition-author-heading">For Structure Definition Author</h4>
<p>GT++ Chemical Plant is a multi with 4 distinctly tiered component.</p>
<p>It will use
<ul>
<li>master channel for its outer shell</li>
<li>channel `"casing"` for machine casings</li>
<li>channel `"pipe"` for pipe casings</li>
<li>channel `"coil"` for heating coils</li>
</ul>
Its structure code will then look like
<pre>
.addElement('a', shellStructureElement())
.addElement('b', withChannel("casing", machineCasingStructureElement()))
.addElement('c', withChannel("pipe", pipeCasingStructureElement()))
.addElement('d', withChannel("coil", coilStructureElement()))
</pre>
whereas all these structure elements are designed without considering channels whatsoever
<h4 id="multi-channel-input-structure-element-heading"> Multi channel input Structure Element</h4>
<p>
Suppose your hatch element has a required facing and can accept arbitrary meta tile entity, so it will need both
meta id
and facing input.
</p>
<p>
It will use
<ul>
<li>master channel for its facing</li>
<li>channel `"id"` for meta tile entity id</li>
</ul>
<p>
Its code will then look like
<pre>
import com.gtnewhorizon.structurelib.structure.IStructureElement;
public class MyHatchElement&lt;T&gt; implements IStructureElement&lt;T&gt; {
//...
@Override
public PlaceResult survivalPlaceBlock(
Object o,
World world,
int x,
int y,
int z,
ItemStack trigger,
IItemSource s,
EntityPlayerMP actor,
Consumer chatter) {
if (shouldSkip(o, world, x, y, z)) return PlaceResult.SKIP;
if (!StructureLibAPI.isBlockTriviallyReplaceable(world, x, y, z, actor)) return PlaceResult.REJECT;
ItemStack taken = s.takeOne(filterByID(ChannelDataAccessor.getChannelData(trigger, "id")).andThen(filterByFacing(trigger.stackSize)));
if (taken == null) return PlaceResult.REJECT;
return StructureUtility.survivalPlaceBlock(taken, ItemStackPredicate.NBTMode.IGNORE, null, true, world, x, y, z, s, actor);
}
}
</pre>
The code for placeBlock() and spawnHint() will be left as an exercise for the reader.
<h2 id="instrumenting-structurelib-heading">Instrumenting StructureLib</h2>
<p>
StructureLib support third party tools to poke into structure's internals via events. This is done by listening to <a href="com/gtnewhorizon/structurelib/StructureEvent.html" title="class in com.gtnewhorizon.structurelib"><code>StructureEvent</code></a>
and its subclasses on the <code>forge main event bus</code>.
</p>
<p>
Please refer to <a href="com/gtnewhorizon/structurelib/StructureEvent.html" title="class in com.gtnewhorizon.structurelib"><code>StructureEvent</code></a> to see what events are available.
</p>
<h1 id="extending-inventory-utility-heading">Extending Inventory Utility</h1>
<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.html" title="class in com.gtnewhorizon.structurelib.util"><code>InventoryUtility</code></a> is how structurelib survival autoplace pulls item for autoplacing.
It has two key concepts: inventory providers and stack extractors.
<p>
Inventory Providers are classes that retrieve an Iterable of ItemStacks for examination, given an EntityPlayerMP as identifier.
They are also responsible for marking the relevant item container as dirty, so changes can be commited to disk properly when world save happens.
Examples include: main player inventory, vanilla ender chest, baubles inventory. StructureLib comes with main player inventory and vanilla ender chest built in.
</p>
<p>
Stack Extractors are classes that retrieve items from another item.
Examples include: Forestry backpacks, ME network over ME Wireless Terminals.
</p>
<p>
Both of these are managed internally by <code>SortedRegistry</code>.
By default, elements registered will be sorted in lexicographical order in ascending order.
However, facilities in StructureLib will allow an end user to tweak these registries as their wish.
They can disable, reorder, reenable any element within the registry, either in game, at main menu or with the game stopped,
Their changes will be synced to server as well, should they be playing on a dedicated server.
</p>
<p>
This has the following important implications
</p>
<ul>
<li>Not all inventory providers or stack extractors may be called during a survival autoplace session</li>
<li>One player could have stack extractor 001 ordered before 002, while the other having a completely reversed order</li>
</ul>
Therefore, if your stack extractor can somehow correlate with aonther one, make sure it still works if the calling order is inverted.
At the very least, inform the player about this ordering constraint.
A future StructrueLib refactor to specify this dependency info is possible, but the chance is low.
<h2 id="localization-heading">Localization</h2>
Both of these would show up in config GUI of StructureLib. Structurelib uses the following localization keys in that GUI.
<ul>
<li><code>structurelib.sortedregistry.inventoryproviders.&lt;registry_key&gt;</code>: This is the name shown on the button for inventory providers. If this is not provided, then registry_key will be used instead.</li>
<li><code>structurelib.sortedregistry.inventoryproviders.&lt;registry_key&gt;.tooltip</code>: This is the tooltip shown when user hover over the button for inventory providers. If this is not provided, then no explicit tooltip will be shown.</li>
<li><code>structurelib.sortedregistry.stackextractors.&lt;registry_key&gt;</code>: This is the name shown on the button for stack extractors. If this is not provided, then registry_key will be used instead.</li>
<li><code>structurelib.sortedregistry.stackextractors.&lt;registry_key&gt;.tooltip</code>: This is the tooltip shown when user hover over the button for stack extractors. If this is not provided, then no explicit tooltip will be shown.</li>
</ul></div>
<div id="all-packages-table">
<div class="caption"><span>Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/package-summary.html">com.gtnewhorizon.structurelib</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/package-summary.html">com.gtnewhorizon.structurelib.alignment</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
<div class="block">This package provide a framework for rotating a given block, or a multiblock structure.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/constructable/package-summary.html">com.gtnewhorizon.structurelib.alignment.constructable</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1">
<div class="block">This package contains interfaces and utility methods for autobuilding a structure.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/alignment/enumerable/package-summary.html">com.gtnewhorizon.structurelib.alignment.enumerable</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/package-summary.html">com.gtnewhorizon.structurelib.structure</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1">
<div class="block">This package provide support for multiblock structure checking.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/structure/adders/package-summary.html">com.gtnewhorizon.structurelib.structure.adders</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
<div class="block">Adder interfaces used in various standard structure elements.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="com/gtnewhorizon/structurelib/util/package-summary.html">com.gtnewhorizon.structurelib.util</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
</div>
</div>
</main>
</div>
</body>
</html>
@@ -0,0 +1,37 @@
ADDITIONAL INFORMATION ABOUT LICENSING
Certain files distributed by Oracle America, Inc. and/or its affiliates are
subject to the following clarification and special exception to the GPLv2,
based on the GNU Project exception for its Classpath libraries, known as the
GNU Classpath Exception.
Note that Oracle includes multiple, independent programs in this software
package. Some of those programs are provided under licenses deemed
incompatible with the GPLv2 by the Free Software Foundation and others.
For example, the package includes programs licensed under the Apache
License, Version 2.0 and may include FreeType. Such programs are licensed
to you under their original licenses.
Oracle facilitates your further distribution of this package by adding the
Classpath Exception to the necessary parts of its GPLv2 code, which permits
you to use that code in combination with other independent modules not
licensed under the GPLv2. However, note that this would not permit you to
commingle code under an incompatible license with Oracle's GPLv2 licensed
code by, for example, cutting and pasting such code into a file also
containing Oracle's GPLv2 licensed code and then distributing the result.
Additionally, if you were to remove the Classpath Exception from any of the
files to which it applies and distribute the result, you would likely be
required to license some or all of the other code in that distribution under
the GPLv2 as well, and since the GPLv2 is incompatible with the license terms
of some items included in the distribution by Oracle, removing the Classpath
Exception could therefore effectively compromise your ability to further
distribute the package.
Failing to distribute notices associated with some files may also create
unexpected legal consequences.
Proceed with caution and we recommend that you obtain the advice of a lawyer
skilled in open source matters before removing the Classpath Exception or
making modifications to this package which may subsequently be redistributed
and/or involve the use of third party software.
+27
View File
@@ -0,0 +1,27 @@
OPENJDK ASSEMBLY EXCEPTION
The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU
General Public License <https://www.gnu.org/copyleft/gpl.html> version 2
only ("GPL2"), with the following clarification and special exception.
Linking this OpenJDK Code statically or dynamically with other code
is making a combined work based on this library. Thus, the terms
and conditions of GPL2 cover the whole combination.
As a special exception, Oracle gives you permission to link this
OpenJDK Code with certain code licensed by Oracle as indicated at
https://openjdk.org/legal/exception-modules-2007-05-08.html
("Designated Exception Modules") to produce an executable,
regardless of the license terms of the Designated Exception Modules,
and to copy and distribute the resulting executable under GPL2,
provided that the Designated Exception Modules continue to be
governed by the licenses under which they were offered by Oracle.
As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code
to build an executable that includes those portions of necessary code that
Oracle could not provide under GPL2 (or that Oracle has provided under GPL2
with the Classpath exception). If you modify or add to the OpenJDK code,
that new GPL2 code may still be combined with Designated Exception Modules
if the new code is made subject to this exception by its copyright holder.
+347
View File
@@ -0,0 +1,347 @@
The GNU General Public License (GPL)
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public License is intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to
most of the Free Software Foundation's software and to any other program whose
authors commit to using it. (Some other Free Software Foundation software is
covered by the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom to
distribute copies of free software (and charge for this service if you wish),
that you receive source code or can get it if you want it, that you can change
the software or use pieces of it in new free programs; and that you know you
can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny
you these rights or to ask you to surrender the rights. These restrictions
translate to certain responsibilities for you if you distribute copies of the
software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for
a fee, you must give the recipients all the rights that you have. You must
make sure that they, too, receive or can get the source code. And you must
show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2)
offer you this license which gives you legal permission to copy, distribute
and/or modify the software.
Also, for each author's protection and ours, we want to make certain that
everyone understands that there is no warranty for this free software. If the
software is modified by someone else and passed on, we want its recipients to
know that what they have is not the original, so that any problems introduced
by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We
wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program proprietary.
To prevent this, we have made it clear that any patent must be licensed for
everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms of
this General Public License. The "Program", below, refers to any such program
or work, and a "work based on the Program" means either the Program or any
derivative work under copyright law: that is to say, a work containing the
Program or a portion of it, either verbatim or with modifications and/or
translated into another language. (Hereinafter, translation is included
without limitation in the term "modification".) Each licensee is addressed as
"you".
Activities other than copying, distribution and modification are not covered by
this License; they are outside its scope. The act of running the Program is
not restricted, and the output from the Program is covered only if its contents
constitute a work based on the Program (independent of having been made by
running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as
you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this License
and to the absence of any warranty; and give any other recipients of the
Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may
at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus
forming a work based on the Program, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all of
these conditions:
a) You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of
this License.
c) If the modified program normally reads commands interactively when run,
you must cause it, when started running for such interactive use in the
most ordinary way, to print or display an announcement including an
appropriate copyright notice and a notice that there is no warranty (or
else, saying that you provide a warranty) and that users may redistribute
the program under these conditions, and telling the user how to view a copy
of this License. (Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based on the Program is
not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License, and
its terms, do not apply to those sections when you distribute them as separate
works. But when you distribute the same sections as part of a whole which is a
work based on the Program, the distribution of the whole must be on the terms
of this License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise the
right to control the distribution of derivative or collective works based on
the Program.
In addition, mere aggregation of another work not based on the Program with the
Program (or with a work based on the Program) on a volume of a storage or
distribution medium does not bring the other work under the scope of this
License.
3. You may copy and distribute the Program (or a work based on it, under
Section 2) in object code or executable form under the terms of Sections 1 and
2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections 1 and 2 above
on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to
give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections 1
and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is allowed only
for noncommercial distribution and only if you received the program in
object code or executable form with such an offer, in accord with
Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and installation
of the executable. However, as a special exception, the source code
distributed need not include anything that is normally distributed (in either
source or binary form) with the major components (compiler, kernel, and so on)
of the operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the source
code from the same place counts as distribution of the source code, even though
third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as
expressly provided under this License. Any attempt otherwise to copy, modify,
sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated so
long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to modify or distribute the Program
or its derivative works. These actions are prohibited by law if you do not
accept this License. Therefore, by modifying or distributing the Program (or
any work based on the Program), you indicate your acceptance of this License to
do so, and all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor to
copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of the
rights granted herein. You are not responsible for enforcing compliance by
third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), conditions
are imposed on you (whether by court order, agreement or otherwise) that
contradict the conditions of this License, they do not excuse you from the
conditions of this License. If you cannot distribute so as to satisfy
simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all.
For example, if a patent license would not permit royalty-free redistribution
of the Program by all those who receive copies directly or indirectly through
you, then the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply and
the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or
other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribution system, which is implemented by public license practices. Many
people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Program under this License may add an explicit
geographical distribution limitation excluding those countries, so that
distribution is permitted only in or among countries not thus excluded. In
such case, this License incorporates the limitation as if written in the body
of this License.
9. The Free Software Foundation may publish revised and/or new versions of the
General Public License from time to time. Such new versions will be similar in
spirit to the present version, but may differ in detail to address new problems
or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any later
version", you have the option of following the terms and conditions either of
that version or of any later version published by the Free Software Foundation.
If the Program does not specify a version number of this License, you may
choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs
whose distribution conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this.
Our decision will be guided by the two goals of preserving the free status of
all derivatives of our free software and of promoting the sharing and reuse of
software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach
them to the start of each source file to most effectively convey the exclusion
of warranty; and each file should have at least the "copyright" line and a
pointer to where the full notice is found.
One line to give the program's name and a brief idea of what it does.
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it
starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
software, and you are welcome to redistribute it under certain conditions;
type 'show c' for details.
The hypothetical commands 'show w' and 'show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may be
called something other than 'show w' and 'show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school,
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
'Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General Public
License instead of this License.
"CLASSPATH" EXCEPTION TO THE GPL
Certain source files distributed by Oracle America and/or its affiliates are
subject to the following clarification and special exception to the GPL, but
only where Oracle has expressly included in the particular source file's header
the words "Oracle designates this particular file as subject to the "Classpath"
exception as provided by Oracle in the LICENSE file that accompanied this code."
Linking this library statically or dynamically with other modules is making
a combined work based on this library. Thus, the terms and conditions of
the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library. If
you modify this library, you may extend this exception to your version of
the library, but you are not obligated to do so. If you do not wish to do
so, delete this exception statement from your version.
+191
View File
@@ -0,0 +1,191 @@
## DejaVu fonts v2.37
### DejaVu License
<pre>
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
Bitstream Vera Fonts Copyright
------------------------------
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of the fonts accompanying this license ("Fonts") and associated
documentation files (the "Font Software"), to reproduce and distribute the
Font Software, including without limitation the rights to use, copy, merge,
publish, distribute, and/or sell copies of the Font Software, and to permit
persons to whom the Font Software is furnished to do so, subject to the
following conditions:
The above copyright and trademark notices and this permission notice shall
be included in all copies of one or more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular
the designs of glyphs or characters in the Fonts may be modified and
additional glyphs or characters may be added to the Fonts, only if the fonts
are renamed to names not containing either the words "Bitstream" or the word
"Vera".
This License becomes null and void to the extent applicable to Fonts or Font
Software that has been modified and is distributed under the "Bitstream
Vera" names.
The Font Software may be sold as part of a larger software package but no
copy of one or more of the Font Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
FONT SOFTWARE.
Except as contained in this notice, the names of Gnome, the Gnome
Foundation, and Bitstream Inc., shall not be used in advertising or
otherwise to promote the sale, use or other dealings in this Font Software
without prior written authorization from the Gnome Foundation or Bitstream
Inc., respectively. For further information, contact: fonts at gnome dot
org.
Arev Fonts Copyright
------------------------------
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the fonts accompanying this license ("Fonts") and
associated documentation files (the "Font Software"), to reproduce
and distribute the modifications to the Bitstream Vera Font Software,
including without limitation the rights to use, copy, merge, publish,
distribute, and/or sell copies of the Font Software, and to permit
persons to whom the Font Software is furnished to do so, subject to
the following conditions:
The above copyright and trademark notices and this permission notice
shall be included in all copies of one or more of the Font Software
typefaces.
The Font Software may be modified, altered, or added to, and in
particular the designs of glyphs or characters in the Fonts may be
modified and additional glyphs or characters may be added to the
Fonts, only if the fonts are renamed to names not containing either
the words "Tavmjong Bah" or the word "Arev".
This License becomes null and void to the extent applicable to Fonts
or Font Software that has been modified and is distributed under the
"Tavmjong Bah Arev" names.
The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by
itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the name of Tavmjong Bah shall not
be used in advertising or otherwise to promote the sale, use or other
dealings in this Font Software without prior written authorization
from Tavmjong Bah. For further information, contact: tavmjong @ free
. fr.
TeX Gyre DJV Math
-----------------
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski
(on behalf of TeX users groups) are in public domain.
Letters imported from Euler Fraktur from AMSfonts are (c) American
Mathematical Society (see below).
Bitstream Vera Fonts Copyright
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera
is a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of the fonts accompanying this license ("Fonts") and associated
documentation
files (the "Font Software"), to reproduce and distribute the Font Software,
including without limitation the rights to use, copy, merge, publish,
distribute,
and/or sell copies of the Font Software, and to permit persons to whom
the Font Software is furnished to do so, subject to the following
conditions:
The above copyright and trademark notices and this permission notice
shall be
included in all copies of one or more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular
the designs of glyphs or characters in the Fonts may be modified and
additional
glyphs or characters may be added to the Fonts, only if the fonts are
renamed
to names not containing either the words "Bitstream" or the word "Vera".
This License becomes null and void to the extent applicable to Fonts or
Font Software
that has been modified and is distributed under the "Bitstream Vera"
names.
The Font Software may be sold as part of a larger software package but
no copy
of one or more of the Font Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
FOUNDATION
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
INABILITY TO USE
THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the names of GNOME, the GNOME
Foundation,
and Bitstream Inc., shall not be used in advertising or otherwise to promote
the sale, use or other dealings in this Font Software without prior written
authorization from the GNOME Foundation or Bitstream Inc., respectively.
For further information, contact: fonts at gnome dot org.
AMSFonts (v. 2.2) copyright
The PostScript Type 1 implementation of the AMSFonts produced by and
previously distributed by Blue Sky Research and Y&Y, Inc. are now freely
available for general use. This has been accomplished through the
cooperation
of a consortium of scientific publishers with Blue Sky Research and Y&Y.
Members of this consortium include:
Elsevier Science IBM Corporation Society for Industrial and Applied
Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS)
In order to assure the authenticity of these fonts, copyright will be
held by
the American Mathematical Society. This is not meant to restrict in any way
the legitimate use of the fonts, such as (but not limited to) electronic
distribution of documents containing these fonts, inclusion of these fonts
into other public domain or commercial font collections or computer
applications, use of the outline data to create derivative fonts and/or
faces, etc. However, the AMS does require that the AMS copyright notice be
removed from any derivative versions of the fonts which have been altered in
any way. In addition, to ensure the fidelity of TeX documents using Computer
Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces,
has requested that any alterations which yield different font metrics be
given a different name.
</pre>
+26
View File
@@ -0,0 +1,26 @@
## jQuery v3.7.1
### jQuery License
```
jQuery v 3.7.1
Copyright OpenJS Foundation and other contributors, https://openjsf.org/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
+49
View File
@@ -0,0 +1,49 @@
## jQuery UI v1.14.1
### jQuery UI License
```
Copyright OpenJS Foundation and other contributors, https://openjsf.org/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/jquery/jquery-ui
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code contained within the demos directory.
CC0: http://creativecommons.org/publicdomain/zero/1.0/
====
All files located in the node_modules and external directories are
externally maintained libraries used by this software which have their
own licenses; we recommend you read them, as their terms may differ from
the terms above.
```
+1
View File
@@ -0,0 +1 @@
memberSearchIndex = [{"p":"com.gtnewhorizon.structurelib.alignment.constructable","c":"ISurvivalConstructable","l":"__get_player()","k":"6"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"abs()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"ACCEPT","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureElement.PlaceResult","l":"ACCEPT_STOP","k":"0"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"add(int, int, int)","u":"add(int,int,int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"InventoryUtility.ItemStackCounter","l":"add(ItemStack, int)","u":"add(net.minecraft.item.ItemStack,int)"},{"p":"com.gtnewhorizon.structurelib.util","c":"Vec3Impl","l":"add(Vec3Impl)","u":"add(com.gtnewhorizon.structurelib.util.Vec3Impl)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addChannel(IChannelDefinition)","u":"addChannel(com.gtnewhorizon.structurelib.structure.IChannelDefinition)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addChannel(String, int, int)","u":"addChannel(java.lang.String,int,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addElement(char, IStructureElement)","u":"addElement(char,com.gtnewhorizon.structurelib.structure.IStructureElement)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addElement(Character, IStructureElement)","u":"addElement(java.lang.Character,com.gtnewhorizon.structurelib.structure.IStructureElement)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"addShape(String, String[][])","u":"addShape(java.lang.String,java.lang.String[][])"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"addThrottledChat(Object, EntityPlayer, IChatComponent, short)","u":"addThrottledChat(java.lang.Object,net.minecraft.entity.player.EntityPlayer,net.minecraft.util.IChatComponent,short)","k":"6"},{"p":"com.gtnewhorizon.structurelib","c":"StructureLibAPI","l":"addThrottledChat(Object, EntityPlayer, IChatComponent, short, boolean)","u":"addThrottledChat(java.lang.Object,net.minecraft.entity.player.EntityPlayer,net.minecraft.util.IChatComponent,short,boolean)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(ExtendedFacing)","u":"allow(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(Flip)","u":"allow(com.gtnewhorizon.structurelib.alignment.enumerable.Flip)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(ForgeDirection)","u":"allow(net.minecraftforge.common.util.ForgeDirection)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allow(Rotation)","u":"allow(com.gtnewhorizon.structurelib.alignment.enumerable.Rotation)"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"allowAll()","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits","l":"allowOnly(ExtendedFacing...)","u":"allowOnly(com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing...)","k":"6"},{"p":"com.gtnewhorizon.structurelib.structure.adders","c":"IBlockAdder","l":"apply(T, Block, int)","u":"apply(T,net.minecraft.block.Block,int)"},{"p":"com.gtnewhorizon.structurelib.structure.adders","c":"ITileAdder","l":"apply(T, TileEntity)","u":"apply(T,net.minecraft.tileentity.TileEntity)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"AutoPlaceEnvironment","l":"AutoPlaceEnvironment(AutoPlaceEnvironment)","u":"%3Cinit%3E(com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment)","k":"3"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureWalker","l":"blockNotLoaded(IStructureElement, World, int, int, int, int, int, int)","u":"blockNotLoaded(com.gtnewhorizon.structurelib.structure.IStructureElement,net.minecraft.world.World,int,int,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.alignment.enumerable","c":"Flip","l":"BOTH","k":"0"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IChannelDefinition","l":"bounded(String, int, int)","u":"bounded(java.lang.String,int,int)","k":"6"},{"p":"com.gtnewhorizon.structurelib.alignment","c":"IAlignmentLimits.Builder","l":"build()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"StructureDefinition.Builder","l":"build()"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"build(T, ItemStack, String, World, ExtendedFacing, int, int, int, int, int, int)","u":"build(T,net.minecraft.item.ItemStack,java.lang.String,net.minecraft.world.World,com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing,int,int,int,int,int,int)"},{"p":"com.gtnewhorizon.structurelib.structure","c":"IStructureDefinition","l":"builder()","k":"6"},{"p":"com.gtnewhorizon.structurelib.structLine truncated
+1
View File
@@ -0,0 +1 @@
moduleSearchIndex = [];updateSearchResults();
+25
View File
@@ -0,0 +1,25 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>StructureLib 1.4.47 API</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="index redirect">
<meta name="generator" content="javadoc/IndexRedirectWriter">
<link rel="canonical" href="index.html">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript">window.location.replace('index.html')</script>
<noscript>
<meta http-equiv="Refresh" content="0;index.html">
</noscript>
</head>
<body class="index-redirect-page">
<main role="main">
<noscript>
<p>JavaScript is disabled on your browser.</p>
</noscript>
<p><a href="index.html">index.html</a></p>
</main>
</body>
</html>
+173
View File
@@ -0,0 +1,173 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (25) -->
<title>Class Hierarchy (StructureLib 1.4.47 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="class tree">
<meta name="generator" content="javadoc/TreeWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="tree-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="search.html">Search</a></li>
<li><a href="help-doc.html#tree">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For All Packages</h1>
</div>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal contents-list">
<li><a href="com/gtnewhorizon/structurelib/package-tree.html">com.gtnewhorizon.structurelib</a>, </li>
<li><a href="com/gtnewhorizon/structurelib/alignment/package-tree.html">com.gtnewhorizon.structurelib.alignment</a>, </li>
<li><a href="com/gtnewhorizon/structurelib/alignment/constructable/package-tree.html">com.gtnewhorizon.structurelib.alignment.constructable</a>, </li>
<li><a href="com/gtnewhorizon/structurelib/alignment/enumerable/package-tree.html">com.gtnewhorizon.structurelib.alignment.enumerable</a>, </li>
<li><a href="com/gtnewhorizon/structurelib/structure/package-tree.html">com.gtnewhorizon.structurelib.structure</a>, </li>
<li><a href="com/gtnewhorizon/structurelib/structure/adders/package-tree.html">com.gtnewhorizon.structurelib.structure.adders</a>, </li>
<li><a href="com/gtnewhorizon/structurelib/util/package-tree.html">com.gtnewhorizon.structurelib.util</a></li>
</ul>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/AlignmentUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">AlignmentUtility</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="com/gtnewhorizon/structurelib/alignment/constructable/ChannelDataAccessor.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ChannelDataAccessor</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="com/gtnewhorizon/structurelib/alignment/constructable/ConstructableUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment.constructable">ConstructableUtility</a></li>
<li class="circle">cpw.mods.fml.common.eventhandler.<a href="https://skmedix.github.io/ForgeJavaDocs/javadoc/forge/1.7.10-10.13.4.1614/cpw/mods/fml/common/eventhandler/Event.html" class="type-name-link external-link" title="class or interface in cpw.mods.fml.common.eventhandler">Event</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.<a href="com/gtnewhorizon/structurelib/StructureEvent.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureEvent</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.<a href="com/gtnewhorizon/structurelib/StructureEvent.StructureElementVisitedEvent.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureEvent.StructureElementVisitedEvent</a></li>
</ul>
</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.Builder.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits.Builder</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IntegerAxisSwap.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.alignment">IntegerAxisSwap</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryIterable.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">InventoryIterable</a>&lt;Inv&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">InventoryUtility</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElement.BlocksToPlace.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">IStructureElement.BlocksToPlace</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/ItemStackPredicate.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">ItemStackPredicate</a> (implements java.util.function.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/MiscUtils.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">MiscUtils</a></li>
<li class="circle">java.util.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Random.html" class="type-name-link external-link" title="class or interface in java.util">Random</a> (implements java.util.random.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/random/RandomGenerator.html" title="class or interface in java.util.random" class="external-link">RandomGenerator</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
<ul>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/XSTR.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">XSTR</a></li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/SortedRegistry.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">SortedRegistry</a>&lt;V&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/StructureDefinition.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition</a>&lt;T&gt; (implements com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/StructureDefinition.Builder.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureDefinition.Builder</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.<a href="com/gtnewhorizon/structurelib/StructureLibAPI.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib">StructureLibAPI</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/StructureUtility.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.structure">StructureUtility</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/Vec3Impl.html" class="type-name-link" title="class in com.gtnewhorizon.structurelib.util">Vec3Impl</a> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;)</li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignment.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a> (also extends com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a>)</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignmentProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentProvider</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignment.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignment</a> (also extends com.gtnewhorizon.structurelib.alignment.<a href="com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.html" title="interface in com.gtnewhorizon.structurelib.alignment">IAlignmentLimits</a>)</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.adders.<a href="com/gtnewhorizon/structurelib/structure/adders/IBlockAdder.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure.adders">IBlockAdder</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IBlockPosConsumer.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IBlockPosConsumer</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IChannelDefinition.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IChannelDefinition</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructable</a>
<ul>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">ISurvivalConstructable</a></li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="com/gtnewhorizon/structurelib/alignment/constructable/IConstructableProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IConstructableProvider</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/ICustomBlockSetting.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ICustomBlockSetting</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IItemSource.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IItemSource</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.constructable.<a href="com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.alignment.constructable">IMultiblockInfoContainer</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.InventoryProvider.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.InventoryProvider</a>&lt;R&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackCounter.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackCounter</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.OptimizedExtractor.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.util">InventoryUtility.OptimizedExtractor</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/ISpecialItemBlock.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ISpecialItemBlock</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureDefinition.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureDefinition</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElement.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElement</a>&lt;T&gt;
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElementChain.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementChain</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElementCheckOnly.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementCheckOnly</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElementDeferred.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementDeferred</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElementNoPlacement.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureElementNoPlacement</a>&lt;T&gt;</li>
</ul>
</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureWalker.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IStructureWalker</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/ISurvivalBuildEnvironment.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ISurvivalBuildEnvironment</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/ITierConverter.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">ITierConverter</a>&lt;TIER&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.adders.<a href="com/gtnewhorizon/structurelib/structure/adders/ITileAdder.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure.adders">ITileAdder</a>&lt;T&gt;</li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IWithExtendedContext.html" class="type-name-link" title="interface in com.gtnewhorizon.structurelib.structure">IWithExtendedContext</a>&lt;CTX&gt;</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Enum Class Hierarchy">Enum Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Enum.html" class="type-name-link external-link" title="class or interface in java.lang">Enum</a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;T&gt;, java.lang.constant.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/constant/Constable.html" title="class or interface in java.lang.constant" class="external-link">Constable</a>, java.io.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
<ul>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/AutoPlaceEnvironment.APILevel.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.structure">AutoPlaceEnvironment.APILevel</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="com/gtnewhorizon/structurelib/alignment/enumerable/Direction.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Direction</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="com/gtnewhorizon/structurelib/alignment/enumerable/ExtendedFacing.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">ExtendedFacing</a></li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="com/gtnewhorizon/structurelib/alignment/enumerable/Flip.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Flip</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/InventoryUtility.ItemStackExtractor.APIType.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.util">InventoryUtility.ItemStackExtractor.APIType</a></li>
<li class="circle">com.gtnewhorizon.structurelib.structure.<a href="com/gtnewhorizon/structurelib/structure/IStructureElement.PlaceResult.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.structure">IStructureElement.PlaceResult</a></li>
<li class="circle">com.gtnewhorizon.structurelib.util.<a href="com/gtnewhorizon/structurelib/util/ItemStackPredicate.NBTMode.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.util">ItemStackPredicate.NBTMode</a> (implements java.util.function.<a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/function/BiPredicate.html" title="class or interface in java.util.function" class="external-link">BiPredicate</a>&lt;T,<wbr>U&gt;)</li>
<li class="circle">com.gtnewhorizon.structurelib.alignment.enumerable.<a href="com/gtnewhorizon/structurelib/alignment/enumerable/Rotation.html" class="type-name-link" title="enum class in com.gtnewhorizon.structurelib.alignment.enumerable">Rotation</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</body>
</html>
+1
View File
@@ -0,0 +1 @@
packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html","k":"18"},{"l":"com.gtnewhorizon.structurelib"},{"l":"com.gtnewhorizon.structurelib.alignment"},{"l":"com.gtnewhorizon.structurelib.alignment.constructable"},{"l":"com.gtnewhorizon.structurelib.alignment.enumerable"},{"l":"com.gtnewhorizon.structurelib.structure"},{"l":"com.gtnewhorizon.structurelib.structure.adders"},{"l":"com.gtnewhorizon.structurelib.util"}];updateSearchResults();
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
-->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 380 460" fill="#505050">
<path
d="M 346,8 H 108 C 90,8 75,23 75,41 v 316 c 0,18 15,33 33,33 h 238 c 18,0 33,-15 33,-33 V 41 C 379,23 364,8 346,8 Z m -8,344 H 116 c -2,0 -3,-1 -3,-3 V 49 c 0,-2 1,-3 3,-3 h 222 c 2,0 3,1 3,3 v 300 h 10e-4 c 0,2 -1,3 -3,3 z"/>
<path
d="m 290,389 v 26 h 10e-4 c 0,2 -1,3 -3,3 H 49 c -2,0 -3,-1 -3,-3 V 99 c 0,-2 1,-3 3,-3 h 27 v 0 l -5e-4,-38 H 41 C 23,58 8,73 8,91 v 332 c 10e-4,18 15,33 33,33 h 254 c 18,0 33,-15 33,-33 v -34"/>
</svg>

After

Width:  |  Height:  |  Size: 845 B

Loaded 100 of 132 files, more files were not shown because too many files have changed in this diff. Show more