PSF-LoginServer/net/psforever/objects/inventory/index.html

59 lines
38 KiB
HTML

<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.objects.inventory</title><meta content="PSF - LoginServer - master - net.psforever.objects.inventory" name="description"/><meta content="PSF LoginServer master net.psforever.objects.inventory" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../lib/index.js"></script><script type="text/javascript" src="../../../../index.js"></script><script type="text/javascript" src="../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left">&lt;</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.objects" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="objects"></a><a id="objects:objects"></a> <span class="permalink"><a href="../../../../net/psforever/objects/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">objects</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.avatar" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="avatar"></a><a id="avatar:avatar"></a> <span class="permalink"><a href="../../../../net/psforever/objects/avatar/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../avatar/index.html" title=""><span class="name">avatar</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.ballistics" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ballistics"></a><a id="ballistics:ballistics"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../ballistics/index.html" title=""><span class="name">ballistics</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.ce" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ce"></a><a id="ce:ce"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ce/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../ce/index.html" title=""><span class="name">ce</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.definition" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="definition"></a><a id="definition:definition"></a> <span class="permalink"><a href="../../../../net/psforever/objects/definition/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../definition/index.html" title=""><span class="name">definition</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.entity" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="entity"></a><a id="entity:entity"></a> <span class="permalink"><a href="../../../../net/psforever/objects/entity/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../entity/index.html" title=""><span class="name">entity</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.equipment" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="equipment"></a><a id="equipment:equipment"></a> <span class="permalink"><a href="../../../../net/psforever/objects/equipment/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../equipment/index.html" title=""><span class="name">equipment</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.geometry" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="geometry"></a><a id="geometry:geometry"></a> <span class="permalink"><a href="../../../../net/psforever/objects/geometry/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../geometry/index.html" title=""><span class="name">geometry</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.guid" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="guid"></a><a id="guid:guid"></a> <span class="permalink"><a href="../../../../net/psforever/objects/guid/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../guid/index.html" title=""><span class="name">guid</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 current" name="net.psforever.objects.inventory" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="inventory"></a><a id="inventory:inventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><span class="name">inventory</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="current-entities indented4"><span class="separator"></span> <a href="Container.html" title="This object is capable of storing (&quot;stowing&quot;) Equipment within itself. The following objects are considered item containers: players (their own inventory), players (their corpse's loot), vehicles (their trunk), and lockers (contents of the player's fifth slot)." class="trait"></a><a href="Container.html" title="This object is capable of storing (&quot;stowing&quot;) Equipment within itself. The following objects are considered item containers: players (their own inventory), players (their corpse's loot), vehicles (their trunk), and lockers (contents of the player's fifth slot).">Container</a></li><li class="current-entities indented4"><a href="GridInventory$.html" title="" class="object"></a> <a href="GridInventory.html" title="An inventory are used to stow Equipment when it does not exist visually in the game world. Visually, an inventory is understood as a rectangular region divided into cellular units." class="class"></a><a href="GridInventory.html" title="An inventory are used to stow Equipment when it does not exist visually in the game world. Visually, an inventory is understood as a rectangular region divided into cellular units.">GridInventory</a></li><li class="current-entities indented4"><a href="InventoryDisarrayException$.html" title="" class="object"></a> <a href="InventoryDisarrayException.html" title="Some data in the grid portion of a GridInventory does not match against data that is expected to be found in the &quot;list&quot; portion of GridInventory." class="class"></a><a href="InventoryDisarrayException.html" title="Some data in the grid portion of a GridInventory does not match against data that is expected to be found in the &quot;list&quot; portion of GridInventory.">InventoryDisarrayException</a></li><li class="current-entities indented4"><span class="separator"></span> <a href="InventoryEquipmentSlot.html" title="A slot-like interface for a specific grid position in an inventory." class="class"></a><a href="InventoryEquipmentSlot.html" title="A slot-like interface for a specific grid position in an inventory.">InventoryEquipmentSlot</a></li><li class="current-entities indented4"><a href="InventoryItem$.html" title="" class="object"></a> <a href="InventoryItem.html" title="Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory." class="class"></a><a href="InventoryItem.html" title="Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory.">InventoryItem</a></li><li class="current-entities indented4"><a href="InventoryTile$.html" title="" class="object"></a> <a href="InventoryTile.html" title="A &quot;tile&quot; represents the size of the icon placard that is used by Equipment when placed into an inventory or visible slot." class="class"></a><a href="InventoryTile.html" title="A &quot;tile&quot; represents the size of the icon placard that is used by Equipment when placed into an inventory or visible slot.">InventoryTile</a></li><li class="current-entities indented4"><span class="separator"></span> <a href="LocallyRegisteredInventory.html" title="An inventory that contains its own internal unique number system bound by a domain of numbers." class="class"></a><a href="LocallyRegisteredInventory.html" title="An inventory that contains its own internal unique number system bound by a domain of numbers.">LocallyRegisteredInventory</a></li><li class="indented4 " name="net.psforever.objects.loadouts" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="loadouts"></a><a id="loadouts:loadouts"></a> <span class="permalink"><a href="../../../../net/psforever/objects/loadouts/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../loadouts/index.html" title=""><span class="name">loadouts</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.locker" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="locker"></a><a id="locker:locker"></a> <span class="permalink"><a href="../../../../net/psforever/objects/locker/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../locker/index.html" title=""><span class="name">locker</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.serverobject" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="serverobject"></a><a id="serverobject:serverobject"></a> <span class="permalink"><a href="../../../../net/psforever/objects/serverobject/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../serverobject/index.html" title=""><span class="name">serverobject</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.teamwork" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="teamwork"></a><a id="teamwork:teamwork"></a> <span class="permalink"><a href="../../../../net/psforever/objects/teamwork/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../teamwork/index.html" title=""><span class="name">teamwork</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.vehicles" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="vehicles"></a><a id="vehicles:vehicles"></a> <span class="permalink"><a href="../../../../net/psforever/objects/vehicles/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../vehicles/index.html" title=""><span class="name">vehicles</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.vital" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="vital"></a><a id="vital:vital"></a> <span class="permalink"><a href="../../../../net/psforever/objects/vital/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../vital/index.html" title=""><span class="name">vital</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.zones" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="zones"></a><a id="zones:zones"></a> <span class="permalink"><a href="../../../../net/psforever/objects/zones/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../zones/index.html" title=""><span class="name">zones</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></dd></dl></div></li></ul></div></div><div id="content"><body class="package value"><div id="definition"><div class="big-circle package">p</div><p id="owner"><a href="../../../index.html" name="net" id="net" class="extype">net</a>.<a href="../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a>.<a href="../index.html" name="net.psforever.objects" id="net.psforever.objects" class="extype">objects</a></p><h1>inventory<span class="permalink"><a href="../../../../net/psforever/objects/inventory/index.html" title="Permalink"><i class="material-icons"></i></a></span></h1></div><h4 id="signature" class="signature"><span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><span class="name">inventory</span></span></h4><div id="comment" class="fullcommenttop"></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="types" class="types members"><h3>Type Members</h3><ol><li class="indented0 " name="net.psforever.objects.inventory.Container" group="Ungrouped" fullComment="no" data-isabs="true" visbl="pub"><a id="ContainerextendsAnyRef"></a><a id="Container:Container"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/Container.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">trait</span></span> <span class="symbol"><a href="Container.html" title="This object is capable of storing (&quot;stowing&quot;) Equipment within itself. The following objects are considered item containers: players (their own inventory), players (their corpse's loot), vehicles (their trunk), and lockers (contents of the player's fifth slot)."><span class="name">Container</span></a><span class="result"> extends <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><p class="shortcomment cmt">This object is capable of storing ("stowing") <code>Equipment</code> within itself.<br>
<br>
The following objects are considered item containers:
players (their own inventory),
players (their corpse's loot),
vehicles (their trunk), and
lockers (contents of the player's fifth slot).</p></li><li class="indented0 " name="net.psforever.objects.inventory.GridInventory" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="GridInventoryextendsContainer"></a><a id="GridInventory:GridInventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="GridInventory.html" title="An inventory are used to stow Equipment when it does not exist visually in the game world. Visually, an inventory is understood as a rectangular region divided into cellular units."><span class="name">GridInventory</span></a><span class="result"> extends <a href="Container.html" name="net.psforever.objects.inventory.Container" id="net.psforever.objects.inventory.Container" class="extype">Container</a></span></span><p class="shortcomment cmt">An inventory are used to stow <code>Equipment</code> when it does not exist visually in the game world.<br>
<br>
Visually, an inventory is understood as a rectangular region divided into cellular units.</p><div class="fullcomment"><div class="comment cmt"><p>An inventory are used to stow <code>Equipment</code> when it does not exist visually in the game world.<br>
<br>
Visually, an inventory is understood as a rectangular region divided into cellular units.
The <code>Equipment</code> that is placed into the inventory can also be represented as smaller rectangles, also composed of cells.
The same number of cells of the item must overlap with the same number of cells of the inventory.
No two items may have cells that overlap.
This "grid" maintains a spatial distinction between items when they get stowed.<br>
<br>
It is not necessary to actually have a structural representation of the "grid."
Adhering to such a data structure does speed up the actions upon the inventory and its contents in certain cases (where noted).
The <code>HashMap</code> of items is used for quick object lookup.
Use of the <code>HashMap</code> only is hitherto referred as "using the inventory as a <code>List</code>."
The <code>Array</code> of spatial GUIDs is used for quick collision lookup.
Use of the <code>Array</code> only is hitherto referred as "using the inventory as a grid."
</p></div></div></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryDisarrayException" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InventoryDisarrayExceptionextendsExceptionwithProductwithSerializable"></a><a id="InventoryDisarrayException:InventoryDisarrayException"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryDisarrayException.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">case class</span></span> <span class="symbol"><a href="InventoryDisarrayException.html" title="Some data in the grid portion of a GridInventory does not match against data that is expected to be found in the &quot;list&quot; portion of GridInventory."><span class="name">InventoryDisarrayException</span></a><span class="params">(<span name="message">message: <span name="scala.Predef.String" class="extype">String</span></span>, <span name="cause">cause: <span name="scala.Throwable" class="extype">Throwable</span></span>, <span name="inventory">inventory: <a href="GridInventory.html" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a></span>)</span><span class="result"> extends <span name="scala.Exception" class="extype">Exception</span> with <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span></span></span><p class="shortcomment cmt">Some data in the grid portion of a <code>GridInventory</code>
does not match against data that is expected to be found in the "list" portion of <code>GridInventory</code>.</p><div class="fullcomment"><div class="comment cmt"><p>Some data in the grid portion of a <code>GridInventory</code>
does not match against data that is expected to be found in the "list" portion of <code>GridInventory</code>.
While merely eliminating the old data is possible,
the discovery of this errant data could be hiding significantly greater issues,
and these greater issues must be explored at a higher level of governance.</p></div><dl class="paramcmts block"><dt class="param">message</dt><dd class="cmt"><p>the explanation of why the exception was thrown</p></dd><dt class="param">cause</dt><dd class="cmt"><p>any prior <code>Exception</code> that was thrown then wrapped in this one</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryEquipmentSlot" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InventoryEquipmentSlotextendsOffhandEquipmentSlot"></a><a id="InventoryEquipmentSlot:InventoryEquipmentSlot"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryEquipmentSlot.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="InventoryEquipmentSlot.html" title="A slot-like interface for a specific grid position in an inventory."><span class="name">InventoryEquipmentSlot</span></a><span class="result"> extends <a href="../OffhandEquipmentSlot.html" name="net.psforever.objects.OffhandEquipmentSlot" id="net.psforever.objects.OffhandEquipmentSlot" class="extype">OffhandEquipmentSlot</a></span></span><p class="shortcomment cmt">A slot-like interface for a specific grid position in an inventory.</p><div class="fullcomment"><div class="comment cmt"><p>A slot-like interface for a specific grid position in an inventory.
The size is typically bound to anything that can be stowed which encompasses most all <code>Equipment</code>.
The capacity of this <code>EquipmentSlot</code> is essentially treated as 1x1.
Upon insertions, however, the capacity temporarily is treated as the size of the item being inserted (unless <code>None</code>).
This allows a proper check for insertion collision.<br>
<br>
Rather than operating on a fixed-size slot, this "slot" represents an inventory region that either includes <code>slot</code> or starts at <code>slot</code>.
When determining the contents of the inventory at <code>slot</code>, only that singular cell is checked.
When removing an item from <code>slot</code>, the item in inventory only has to be positioned in such a way that overlaps with <code>slot</code>.
When adding an item to <code>slot</code>, <code>slot</code> is treated as the upper left corner (the initial point) of a larger capacity region.<br>
<br>
The following diagrams demonstrate the coordinate association:<br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - r r x - &nbsp;&nbsp;&nbsp; - - - - -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - s - - &nbsp;&nbsp;&nbsp; - r r x - &nbsp;&nbsp;&nbsp; - - i i -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - x x x - &nbsp;&nbsp;&nbsp; - - i i -</code><br>
<code>&nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - - &nbsp;&nbsp;&nbsp; - - - - -</code><br>
... where 's' is the 1x1 slot,
'r' is the corner of any 2x2 item that can be removed ('x' is a potential affected edge),
and 'i' is the region checked for a 2x2 insertion into <code>slot</code>.
</p></div></div></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryItem" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InventoryItemextendsAnyRef"></a><a id="InventoryItem:InventoryItem"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryItem.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="InventoryItem.html" title="Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory."><span class="name">InventoryItem</span></a><span class="result"> extends <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><p class="shortcomment cmt">Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory.</p><div class="fullcomment"><div class="comment cmt"><p>Represent the image placard that is used to visually and spatially manipulate an item placed into the grid-like inventory.
The unofficial term for this placard (the size of the placard) is a "tile."
The size of the tile is usually fixed but the origin point of the tile can be changed.</p></div></div></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryTile" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InventoryTileextendsAnyRef"></a><a id="InventoryTile:InventoryTile"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryTile.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="InventoryTile.html" title="A &quot;tile&quot; represents the size of the icon placard that is used by Equipment when placed into an inventory or visible slot."><span class="name">InventoryTile</span></a><span class="result"> extends <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><p class="shortcomment cmt">A "tile" represents the size of the icon placard that is used by <code>Equipment</code> when placed into an inventory or visible slot.</p><div class="fullcomment"><div class="comment cmt"><p>A "tile" represents the size of the icon placard that is used by <code>Equipment</code> when placed into an inventory or visible slot.
It is also used by some <code>ObjectDefinition</code>s to pass information about the size of an inventory itself.</p></div><dl class="attributes block"><dt>Exceptions thrown</dt><dd><span class="cmt"><p><span name="IllegalArgumentException" class="extype"><code>IllegalArgumentException</code></span> if either the width or the height are less than zero</p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.inventory.LocallyRegisteredInventory" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="LocallyRegisteredInventoryextendsGridInventory"></a><a id="LocallyRegisteredInventory:LocallyRegisteredInventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/LocallyRegisteredInventory.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">class</span></span> <span class="symbol"><a href="LocallyRegisteredInventory.html" title="An inventory that contains its own internal unique number system bound by a domain of numbers."><span class="name">LocallyRegisteredInventory</span></a><span class="result"> extends <a href="GridInventory.html" name="net.psforever.objects.inventory.GridInventory" id="net.psforever.objects.inventory.GridInventory" class="extype">GridInventory</a></span></span><p class="shortcomment cmt">An inventory that contains its own internal unique number system bound by a domain of numbers.</p><div class="fullcomment"><div class="comment cmt"><p>An inventory that contains its own internal unique number system bound by a domain of numbers.
When equipment is inserted into this inventory,
the equipment is registered to it, assigned one of its internal unique numbers.
The equipment must not already be registered to another unique number system for that reason.
Upon being removed, the removed equipment is unregistered.
The registration system adds another unspoken layer to <code>Capacity</code>
as it imposes a total object count to the inventory.</p></div><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>NumberSourceHub</code></p></span><span class="cmt"><p><code>RandomSelector</code></p></span><span class="cmt"><p><code>SpecificNumberSource</code></p></span></dd></dl></div></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="net.psforever.objects.inventory.GridInventory" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="GridInventory"></a><a id="GridInventory:GridInventory"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/GridInventory$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="GridInventory$.html" title=""><span class="name">GridInventory</span></a></span></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryDisarrayException" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="InventoryDisarrayException"></a><a id="InventoryDisarrayException:InventoryDisarrayException"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryDisarrayException$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="InventoryDisarrayException$.html" title=""><span class="name">InventoryDisarrayException</span></a><span class="result"> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html#java.io.Serializable" name="java.io.Serializable" id="java.io.Serializable" class="extype">Serializable</a></span></span></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryItem" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="InventoryItem"></a><a id="InventoryItem:InventoryItem"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryItem$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="InventoryItem$.html" title=""><span class="name">InventoryItem</span></a></span></li><li class="indented0 " name="net.psforever.objects.inventory.InventoryTile" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="InventoryTile"></a><a id="InventoryTile:InventoryTile"></a> <span class="permalink"><a href="../../../../net/psforever/objects/inventory/InventoryTile$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="InventoryTile$.html" title=""><span class="name">InventoryTile</span></a></span></li></ol></div></div><div id="inheritedMembers"></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>