Clear={Params="",Return="",Notes="Clears the object, resets it to zero size"},
CopyFrom={Params="BlockAreaSrc",Return="",Notes="Copies contents from BlockAreaSrc into self"},
CopyTo={Params="BlockAreaDst",Return="",Notes="Copies contents from self into BlockAreaDst."},
Create={Params="SizeX, SizeY, SizeZ, [DataTypes]",Return="",Notes="Initializes this BlockArea to an empty area of the specified size and origin of {0, 0, 0}. Any previous contents are lost."},
Crop={Params="AddMinX, SubMaxX, AddMinY, SubMaxY, AddMinZ, SubMaxZ",Return="",Notes="Crops the specified number of blocks from each border. Modifies the size of this blockarea object."},
DumpToRawFile={Params="FileName",Return="",Notes="Dumps the raw data into a file. For debugging purposes only."},
Expand={Params="SubMinX, AddMaxX, SubMinY, AddMaxY, SubMinZ, AddMaxZ",Return="",Notes="Expands the specified number of blocks from each border. Modifies the size of this blockarea object. New blocks created with this operation are filled with zeroes."},
Fill={Params="DataTypes, BlockType, [BlockMeta], [BlockLight], [BlockSkyLight]",Return="",Notes="Fills the entire block area with the same values, specified. Uses the DataTypes param to determine which content types are modified."},
FillRelCuboid={Params="MinRelX, MaxRelX, MinRelY, MaxRelY, MinRelZ, MaxRelZ, DataTypes, BlockType, [BlockMeta], [BlockLight], [BlockSkyLight]",Return="",Notes="Fills the specified cuboid with the same values (like Fill() )."},
GetBlockLight={Params="BlockX, BlockY, BlockZ",Return="NIBBLETYPE",Notes="Returns the blocklight at the specified absolute coords"},
GetBlockMeta={Params="BlockX, BlockY, BlockZ",Return="NIBBLETYPE",Notes="Returns the block meta at the specified absolute coords"},
GetBlockSkyLight={Params="BlockX, BlockY, BlockZ",Return="NIBBLETYPE",Notes="Returns the skylight at the specified absolute coords"},
GetBlockType={Params="BlockX, BlockY, BlockZ",Return="BLOCKTYPE",Notes="Returns the block type at the specified absolute coords"},
GetBlockTypeMeta={Params="BlockX, BlockY, BlockZ",Return="BLOCKTYPE, NIBBLETYPE",Notes="Returns the block type and meta at the specified absolute coords"},
GetDataTypes={Params="",Return="number",Notes="Returns the mask of datatypes that the objectis currently holding"},
GetOriginX={Params="",Return="number",Notes="Returns the origin x-coord"},
GetOriginY={Params="",Return="number",Notes="Returns the origin y-coord"},
GetOriginZ={Params="",Return="number",Notes="Returns the origin z-coord"},
GetRelBlockLight={Params="RelBlockX, RelBlockY, RelBlockZ",Return="NIBBLETYPE",Notes="Returns the blocklight at the specified relative coords"},
GetRelBlockMeta={Params="RelBlockX, RelBlockY, RelBlockZ",Return="NIBBLETYPE",Notes="Returns the block meta at the specified relative coords"},
GetRelBlockSkyLight={Params="RelBlockX, RelBlockY, RelBlockZ",Return="NIBBLETYPE",Notes="Returns the skylight at the specified relative coords"},
GetRelBlockType={Params="RelBlockX, RelBlockY, RelBlockZ",Return="BLOCKTYPE",Notes="Returns the block type at the specified relative coords"},
GetRelBlockTypeMeta={Params="RelBlockX, RelBlockY, RelBlockZ",Return="NIBBLETYPE",Notes="Returns the block type and meta at the specified relative coords"},
GetSizeX={Params="",Return="number",Notes="Returns the size of the held data in the x-axis"},
GetSizeY={Params="",Return="number",Notes="Returns the size of the held data in the y-axis"},
GetSizeZ={Params="",Return="number",Notes="Returns the size of the held data in the z-axis"},
HasBlockLights={Params="",Return="bool",Notes="Returns true if current datatypes include blocklight"},
HasBlockMetas={Params="",Return="bool",Notes="Returns true if current datatypes include block metas"},
HasBlockSkyLights={Params="",Return="bool",Notes="Returns true if current datatypes include skylight"},
HasBlockTypes={Params="",Return="bool",Notes="Returns true if current datatypes include block types"},
LoadFromSchematicFile={Params="FileName",Return="",Notes="Clears current content and loads new content from the specified schematic file. Returns true if successful. Returns false and logs error if unsuccessful, old content is preserved in such a case."},
Merge={Params="BlockAreaSrc, RelX, RelY, RelZ, Strategy",Return="",Notes="Merges BlockAreaSrc into this object at the specified relative coords, using the specified strategy"},
MirrorXY={Params="",Return="",Notes="Mirrors this block area around the XY plane. Modifies blocks' metas (if present) to match (i. e. furnaces facing the opposite direction)."},
MirrorXYNoMeta={Params="",Return="",Notes="Mirrors this block area around the XY plane. Doesn't modify blocks' metas."},
MirrorXZ={Params="",Return="",Notes="Mirrors this block area around the XZ plane. Modifies blocks' metas (if present)"},
MirrorXZNoMeta={Params="",Return="",Notes="Mirrors this block area around the XZ plane. Doesn't modify blocks' metas."},
MirrorYZ={Params="",Return="",Notes="Mirrors this block area around the YZ plane. Modifies blocks' metas (if present)"},
MirrorYZNoMeta={Params="",Return="",Notes="Mirrors this block area around the YZ plane. Doesn't modify blocks' metas."},
Read={Params="World, MinX, MaxX, MinY, MaxY, MinZ, MaxZ, DataTypes",Return="bool",Notes="Reads the area from World, returns true if successful"},
RelLine={Params="RelX1, RelY1, RelZ1, RelX2, RelY2, RelZ2, DataTypes, BlockType, [BlockMeta], [BlockLight], [BlockSkyLight]",Return="",Notes="Draws a line between the two specified points. Sets only datatypes specified by DataTypes."},
RotateCCW={Params="",Return="",Notes="Rotates the block area around the Y axis, counter-clockwise (east -> north). Modifies blocks' metas (if present) to match."},
RotateCCWNoMeta={Params="",Return="",Notes="Rotates the block area around the Y axis, counter-clockwise (east -> north). Doesn't modify blocks' metas."},
RotateCW={Params="",Return="",Notes="Rotates the block area around the Y axis, clockwise (north -> east). Modifies blocks' metas (if present) to match."},
RotateCWNoMeta={Params="",Return="",Notes="Rotates the block area around the Y axis, clockwise (north -> east). Doesn't modify blocks' metas."},
SaveToSchematicFile={Params="FileName",Return="",Notes="Saves the current contents to a schematic file. Returns true if successful."},
SetBlockLight={Params="BlockX, BlockY, BlockZ, BlockLight",Return="",Notes="Sets the blocklight at the specified absolute coords"},
SetBlockMeta={Params="BlockX, BlockY, BlockZ, BlockMeta",Return="",Notes="Sets the block meta at the specified absolute coords"},
SetBlockSkyLight={Params="BlockX, BlockY, BlockZ, SkyLight",Return="",Notes="Sets the skylight at the specified absolute coords"},
SetBlockType={Params="BlockX, BlockY, BlockZ, BlockType",Return="",Notes="Sets the block type at the specified absolute coords"},
SetRelBlockLight={Params="RelBlockX, RelBlockY, RelBlockZ, BlockLight",Return="",Notes="Sets the blocklight at the specified relative coords"},
SetRelBlockMeta={Params="RelBlockX, RelBlockY, RelBlockZ, BlockMeta",Return="",Notes="Sets the block meta at the specified relative coords"},
SetRelBlockSkyLight={Params="RelBlockX, RelBlockY, RelBlockZ, SkyLight",Return="",Notes="Sets the skylight at the specified relative coords"},
SetRelBlockType={Params="RelBlockX, RelBlockY, RelBlockZ, BlockType",Return="",Notes="Sets the block type at the specified relative coords"},
Write={Params="World, MinX, MinY, MinZ, DataTypes",Return="bool",Notes="Writes the area into World at the specified coords, returns true if successful"},
GetBlockType={Params="",Return="BLOCKTYPE",Notes="Returns the blocktype which is represented by this blockentity. This is the primary means of type-identification"},
IsUsingDefaultFinish={Params="",Return="bool",Notes="Returns true if the chunk is set to use default finishers"},
IsUsingDefaultHeight={Params="",Return="bool",Notes="Returns true if the chunk is set to use default height generator"},
IsUsingDefaultStructures={Params="",Return="bool",Notes="Returns true if the chunk is set to use default structures"},
ReadBlockArea={Params="BlockArea, MinRelX, MaxRelX, MinRelY, MaxRelY, MinRelZ, MaxRelZ",Return="",Notes="Reads data from the chunk into the block area object"},
SetBiome={Params="RelX, RelZ, EMCSBiome",Return="",Notes="Sets the biome at the specified relative coords"},
SetBlockMeta={Params="RelX, RelY, RelZ, BlockMeta",Return="",Notes="Sets the block meta at the specified relative coords"},
SetBlockType={Params="RelX, RelY, RelZ, BlockType",Return="",Notes="Sets the block type at the specified relative coords"},
SetBlockTypeMeta={Params="RelX, RelY, RelZ, BlockType, BlockMeta",Return="",Notes="Sets the block type and meta at the specified relative coords"},
SetHeight={Params="RelX, RelZ, Height",Return="",Notes="Sets the height at the specified relative coords"},
SetUseDefaultBiomes={Params="bool",Return="",Notes="Sets the chunk to use default biome generator or not"},
SetUseDefaultComposition={Params="bool",Return="",Notes="Sets the chunk to use default composition generator or not"},
SetUseDefaultFinish={Params="bool",Return="",Notes="Sets the chunk to use default finishers or not"},
SetUseDefaultHeight={Params="bool",Return="",Notes="Sets the chunk to use default height generator or not"},
SetUseDefaultStructures={Params="bool",Return="",Notes="Sets the chunk to use default structures or not"},
WriteBlockArea={Params="BlockArea, MinRelX, MinRelY, MinRelZ",Return="",Notes="Writes data from the block area into the chunk"},
Desc=[[AcClientHandlerepresentstechnicalaspectofconnectedplayer-it's game client.
]],
Functions=
{
GetPing={Params="",Return="number",Notes="Returns the ping time, in ms"},
GetPlayer={Params="",Return="{{cPlayer|cPlayer}}",Notes="Returns the player object connected to this client"},
GetUniqueID={Params="",Return="number",Notes="Returns the UniqueID of the client used to identify the client in the server"},
GetUsername={Params="",Return="string",Notes="Returns the username that the client has provided"},
GetViewDistance={Params="",Return="number",Notes="Returns the viewdistance (number of chunks loaded for the player in each direction)"},
Kick={Params="Reason",Return="",Notes="Kicks the user with the specified reason"},
SetUsername={Params="Name",Return="",Notes="Sets the username"},
SetViewDistance={Params="ViewDistance",Return="",Notes="Sets the viewdistance (number of chunks loaded for the player in each direction)"},
SendBlockChange={Params="BlockX, BlockY, BlockZ, BlockType, BlockMeta",Return="",Notes="Sends a block to the client. This can be used to create fake blocks."},
},
Constants=
{
MAX={Notes="10"},
MIN={Notes="4"},
},
},
cCraftingGrid=
{
Desc=[[cCraftingGridrepresentstheplayer's crafting grid. It is used only in {{OnCraftingNoRecipe|OnCraftingNoRecipe}}, {{OnPostCrafting|OnPostCrafting}} and {{OnPreCrafting|OnPreCrafting}} hooks. Plugins may use it to inspect the items the player placed on their crafting grid.
]],
Functions=
{
Clear={Params="",Return="",Notes="Clears the entire grid"},
ConsumeGrid={Params="{{cCraftingGrid|CraftingGrid}}",Return="",Notes="Consumes items specified in CraftingGrid from the current contents"},
Dump={Params="",Return="",Notes="DEBUG build: Dumps the contents of the grid to the log. RELEASE build: no action"},
GetHeight={Params="",Return="number",Notes="Returns the height of the grid"},
GetItem={Params="x, y",Return="{{cItem|cItem}}",Notes="Returns the item at the specified coords"},
GetWidth={Params="",Return="number",Notes="Returns the width of the grid"},
SetItem={Params="x, y, {{cItem|cItem}}",Return="",Notes="Sets the item at the specified coords"},
SetItem={Params="x, y, ItemType, ItemCount, ItemDamage",Return="",Notes="Sets the item at the specified coords"},
Clear={Params="",Return="",Notes="Clears the entire recipe, both ingredients and results"},
ConsumeIngredients={Params="CraftingGrid",Return="",Notes="Consumes ingredients specified in the given {{cCraftingGrid|cCraftingGrid}} class"},
Dump={Params="",Return="",Notes="DEBUG build: dumps ingredients and result into server log. RELEASE build: no action"},
GetIngredient={Params="x, y",Return="{{cItem|cItem}}",Notes="Returns the ingredient stored in the recipe at the specified coords"},
GetIngredientsHeight={Params="",Return="number",Notes="Returns the height of the ingredients' grid"},
GetIngredientsWidth={Params="",Return="number",Notes="Returns the width of the ingredients' grid"},
GetResult={Params="",Return="{{cItem|cItem}}",Notes="Returns the result of the recipe"},
SetIngredient={Params="x, y, {{cItem|cItem}}",Return="",Notes="Sets the ingredient at the specified coords"},
SetIngredient={Params="x, y, ItemType, ItemCount, ItemDamage",Return="",Notes="Sets the ingredient at the specified coords"},
SetResult={Params="{{cItem|cItem}}",Return="",Notes="Sets the result item"},
SetResult={Params="ItemType, ItemCount, ItemDamage",Return="",Notes="Sets the result item"},
},
Constants=
{
},
},
cCuboid=
{
Desc=[[cCuboidofferssomenativesupportforcuboids.Acuboidsimplyconsistsoftwo{{vector3i|vector3i}}'s. It offers some extra functions for sorting and checking if a point is inside the cuboid.
]],
Functions=
{
},
Constants=
{
p={Notes="{{Vector3i|Vector3i}}"},
p={Notes="{{Vector3i|Vector3i}}"},
Sort={Notes="void"},
IsInside={Notes="bool"},
IsInside={Notes="bool"},
},
},
cDispenserEntity=
{
Desc=[[Thisclassrepresentsadispenserblockentityintheworld.Mostofthisblockentity's functionality is implemented in the {{cDropSpenserEntity|cDropSpenserEntity}} class that represents the behavior common with a {{cDropperEntity|dropper}} entity.
constructor={Params="BlockX, BlockY, BlockZ",Return="cDispenserEntity",Notes="Creates a new cDispenserEntity at the specified coords"},
},
Constants=
{
},
},
cDropperEntity=
{
Desc=[[Thisclassrepresentsadropperblockentityintheworld.Mostofthisblockentity's functionality is implemented in the {{cDropSpenserEntity|cDropSpenserEntity}} class that represents the behavior common with the {{cDispenserEntity|dispenser}} entity.
Activate={Params="",Return="",Notes="Sets the block entity to dropspense an item in the next tick"},
AddDropSpenserDir={Params="BlockX, BlockY, BlockZ, BlockMeta",Return="BlockX, BlockY, BlockZ",Notes="Adjusts the block coords to where the dropspenser items materialize"},
SetRedstonePower={Params="IsPowered",Return="",Notes="Sets the redstone status of the dropspenser. If the redstone power goes from off to on, the dropspenser will be activated"},
},
Constants=
{
ContentsWidth={Notes="Width (X) of the cItemGrid representing the contents"},
ContentsHeight={Notes="Height (Y) of the cItemGrid representing the contents"},
constructor={Params="",Return="cEnchantments",Notes="Creates a new empty cEnchantments object"},
constructor={Params="StringSpec",Return="cEnchantments",Notes="Creates a new cEnchantments object filled with enchantments based on the string description"},
AddFromString={Params="StringSpec",Return="",Notes="Adds the enchantments in the string description into the object. If a specified enchantment already existed, it is overwritten."},
Clear={Params="",Return="",Notes="Removes all enchantments"},
GetLevel={Params="EnchantmentNumID",Return="number",Notes="Returns the level of the specified enchantment stored in this object; 0 if not stored"},
IsEmpty={Params="",Return="bool",Notes="Returns true if the object stores no enchantments"},
SetLevel={Params="EnchantmentNumID, Level",Return="",Notes="Sets the level for the specified enchantment, adding it if not stored before or removing it if level < = 0"},
StringToEnchantmentID={Params="EnchantmentTextID",Return="number",Notes="(static) Returns the enchantment numerical ID, -1 if not understood. Case insensitive"},
ToString={Params="",Return="string",Notes="Returns the string description of all the enchantments stored in this object, in numerical-ID form"},
<p>AllcEntityobjectshaveanEntityTypesoitcanbedeterminedwhatkindofentityitisefficiently.Entitiesalsohaveaclassinheritanceawareness,theyknowtheirclassname,theirparentclass' name and can decide if there is a class within their inheritance chain. Since these functions operate on strings, they are slightly slower than checking the entity type directly, on the other hand, they are more specific (compare etMob vs "cSpider" class name).
</p>
<p>NotethatyoushouldnotstoreacEntityobjectbetweentwohooks' calls, because MCServer may remove that entity in between the calls. If you need to refer to an entity later, use its UniqueID and {{cWorld|cWorld}}'sentitymanipulationfunctionstoaccesstheentity.
]],
Functions=
{
Destroy={Params="",Return="",Notes="Schedules the entity to be destroyed"},
GetChunkX={Params="",Return="number",Notes="Returns the X-coord of the chunk in which the entity is placed"},
GetChunkY={Params="",Return="number",Notes="Returns the Y-coord of the chunk in which the entity is placed"},
GetChunkZ={Params="",Return="number",Notes="Returns the Z-coord of the chunk in which the entity is placed"},
GetClass={Params="",Return="string",Notes="Returns the classname of the entity, such as \"spider\" or \"pickup\""},
GetClassStatic={Params="",Return="string",Notes="Returns the entity classname that this class implements. Each descendant overrides this function. Is static"},
GetEntityType={Params="",Return="cEntity.eEntityType",Notes="Returns the type of the entity, one of the etXXX constants"},
GetLookVector={Params="",Return="Vector3f",Notes="Returns the vector that defines the direction in which the entity is looking"},
GetParentClass={Params="",Return="string",Notes="Returns the name of the direct parent class for this entity"},
GetPitch={Params="",Return="number",Notes="Returns the pitch (nose-down rotation) of the entity"},
GetPosX={Params="",Return="number",Notes="Returns the X-coord of the entity's pivot"},
GetPosY={Params="",Return="number",Notes="Returns the Y-coord of the entity's pivot"},
GetPosZ={Params="",Return="number",Notes="Returns the Z-coord of the entity's pivot"},
GetPosition={Params="",Return="Vector3d",Notes="Returns the entity's pivot position as a 3D vector"},
GetRoll={Params="",Return="number",Notes="Returns the roll (sideways rotation) of the entity"},
GetRot={Params="",Return="Vector3f",Notes="Returns the entire rotation vector (Rotation, Pitch, Roll)"},
GetRotation={Params="",Return="number",Notes="Returns the rotation (direction) of the entity"},
GetSpeed={Params="",Return="Vector3d",Notes="Returns the complete speed vector of the entity"},
GetSpeedX={Params="",Return="number",Notes="Returns the X-part of the speed vector"},
GetSpeedY={Params="",Return="number",Notes="Returns the Y-part of the speed vector"},
GetSpeedZ={Params="",Return="number",Notes="Returns the Z-part of the speed vector"},
GetUniqueID={Params="",Return="number",Notes="Returns the ID that uniquely identifies the entity"},
GetWorld={Params="",Return="{{cWorld|cWorld}}",Notes="Returns the world where the entity resides"},
IsA={Params="ClassName",Return="bool",Notes="Returns true if the entity class is a descendant of the specified class name, or the specified class itself"},
IsCrouched={Params="",Return="bool",Notes="Returns true if the entity is crouched. False for entities that don't support crouching"},
IsDestroyed={Params="",Return="bool",Notes="Returns true if the entity has been destroyed and is awaiting removal from the internal structures"},
IsMinecart={Params="",Return="bool",Notes="Returns true if the entity represents a minecart"},
IsMob={Params="",Return="bool",Notes="Returns true if the entity represents any mob"},
IsOnFire={Params="",Return="bool",Notes="Returns true if the entity is on fire"},
IsPickup={Params="",Return="bool",Notes="Returns true if the entity represents a pickup"},
IsPlayer={Params="",Return="bool",Notes="Returns true if the entity represents a player"},
IsTNT={Params="",Return="bool",Notes="Returns true if the entity represents a TNT entity"},
constructor={Params="BlockX, BlockY, BlockZ, BlockType, BlockMeta",Return="cFurnaceEntity",Notes="Creates a new cFurnaceEntity at the specified coords and the specified block type / meta"},
GetCookTimeLeft={Params="",Return="number",Notes="Returns the time until the current item finishes cooking, in ticks"},
GetFuelBurnTimeLeft={Params="",Return="number",Notes="Returns the time until the current fuel is depleted, in ticks"},
GetFuelSlot={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the fuel slot"},
GetInputSlot={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the input slot"},
GetOutputSlot={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the output slot"},
GetTimeCooked={Params="",Return="number",Notes="Returns the time that the current item has been cooking, in ticks"},
HasFuelTimeLeft={Params="",Return="bool",Notes="Returns true if there's time before the current fuel is depleted"},
SetFuelSlot={Params="{{cItem|cItem}}",Return="",Notes="Sets the item in the fuel slot"},
SetInputSlot={Params="{{cItem|cItem}}",Return="",Notes="Sets the item in the input slot"},
SetOutputSlot={Params="{{cItem|cItem}}",Return="",Notes="Sets the item in the output slot"},
},
Constants=
{
fsInput={Notes="Index of the input slot, when using the GetSlot() / SetSlot() functions"},
fsFuel={Notes="Index of the fuel slot, when using the GetSlot() / SetSlot() functions"},
fsOutput={Notes="Index of the output slot, when using the GetSlot() / SetSlot() functions"},
ContentsWidth={Notes="Width (X) of the {{cItemGrid|cItemGrid}} representing the contents"},
ContentsHeight={Notes="Height (Y) of the {{cItemGrid|cItemGrid}} representing the contents"},
},
},
cGroup=
{
Desc=[[cGroupisagroup{{cPlayer|cPlayer}}'s can be in. Groups define the permissions players have, and optionally the color of their name in the chat.
AddItem={Params="{{cItem|cItem}}, [AllowNewStacks]",Return="number",Notes="Adds an item to the storage; if AllowNewStacks is true (default), will also create new stacks in empty slots. Returns the number of items added"},
AddItems={Params="{{cItems|cItems}}, [AllowNewStacks]",Return="number",Notes="Same as AddItem, but for several items at once"},
ChangeSlotCount={Params="SlotNum, AddToCount",Return="number",Notes="Adds AddToCount to the count of items in the specified slot. If the slot was empty, ignores the call. Returns the new count in the slot, or -1 if invalid SlotNum"},
Clear={Params="",Return="",Notes="Empties all slots"},
CopyToItems={Params="{{cItems|cItems}}",Return="",Notes="Copies all non-empty slots into the cItems object provided; original cItems contents are preserved"},
DamageEquippedItem={Params="[DamageAmount]",Return="bool",Notes="Adds the specified damage (1 by default) to the currently equipped it"},
DamageItem={Params="SlotNum, [DamageAmount]",Return="bool",Notes="Adds the specified damage (1 by default) to the specified item, returns true if the item reached its max damage and should be destroyed"},
GetArmorGrid={Params="",Return="{{cItemGrid|cItemGrid}}",Notes="Returns the ItemGrid representing the armor grid (1 x 4 slots)"},
GetArmorSlot={Params="ArmorSlotNum",Return="{{cItem|cItem}}",Notes="Returns the specified armor slot contents. Note that the returned item is read-only"},
GetEquippedBoots={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the \"boots\" slot of the armor grid. Note that the returned item is read-only"},
GetEquippedChestplate={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the \"chestplate\" slot of the armor grid. Note that the returned item is read-only"},
GetEquippedHelmet={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the \"helmet\" slot of the armor grid. Note that the returned item is read-only"},
GetEquippedItem={Params="",Return="{{cItem|cItem}}",Notes="Returns the currently selected item from the hotbar. Note that the returned item is read-only"},
GetEquippedLeggings={Params="",Return="{{cItem|cItem}}",Notes="Returns the item in the \"leggings\" slot of the armor grid. Note that the returned item is read-only"},
GetEquippedSlotNum={Params="",Return="number",Notes="Returns the hotbar slot number for the currently selected item"},
GetHotbarGrid={Params="",Return="{{cItemGrid|cItemGrid}}",Notes="Returns the ItemGrid representing the hotbar grid (9 x 1 slots)"},
GetHotbarSlot={Params="HotBarSlotNum",Return="{{cItem|cItem}}",Notes="Returns the specified hotbar slot contents. Note that the returned item is read-only"},
GetInventoryGrid={Params="",Return="{{cItemGrid|cItemGrid}}",Notes="Returns the ItemGrid representing the main inventory (9 x 3 slots)"},
GetInventorySlot={Params="InventorySlotNum",Return="{{cItem|cItem}}",Notes="Returns the specified main inventory slot contents. Note that the returned item is read-only"},
GetOwner={Params="",Return="{{cPlayer|cPlayer}}",Notes="Returns the player whose inventory this object represents"},
GetSlot={Params="SlotNum",Return="{{cItem|cItem}}",Notes="Returns the contents of the specified slot. Note that the returned item is read-only"},
HasItems={Params="{{cItem|cItem}}",Return="bool",Notes="Returns true if there are at least as many items of the specified type as in the parameter"},
HowManyCanFit={Params="{{cItem|cItem}}",Return="number",Notes="Returns the number of the specified items that can fit in the storage, including empty slots"},
HowManyItems={Params="{{cItem|cItem}}",Return="number",Notes="Returns the number of the specified items that are currently stored"},
RemoveOneEquippedItem={Params="",Return="",Notes="Removes one item from the hotbar's currently selected slot"},
SetArmorSlot={Params="ArmorSlotNum, {{cItem|cItem}}",Return="",Notes="Sets the specified armor slot contents"},
SetEquippedSlotNum={Params="EquippedSlotNum",Return="",Notes="Sets the currently selected hotbar slot number"},
SetHotbarSlot={Params="HotbarSlotNum, {{cItem|cItem}}",Return="",Notes="Sets the specified hotbar slot contents"},
SetInventorySlot={Params="InventorySlotNum, {{cItem|cItem}}",Return="",Notes="Sets the specified main inventory slot contents"},
SetSlot={Params="SlotNum, {{cItem|cItem}}",Return="",Notes="Sets the specified slot contents"},
constructor1={Params="",Return="cItem",Notes="Creates a new empty cItem obje"},
constructor2={Params="ItemType, Count, Damage, EnchantmentString",Return="cItem",Notes="Creates a new cItem object of the specified type, count (1 by default), damage (0 by default) and enchantments (non-enchanted by default)"},
constructor3={Params="cItem",Return="cItem",Notes="Creates an exact copy of the cItem object in the parameter"},
Clear={Params="",Return="",Notes="Resets the instance to an empty item"},
CopyOne={Params="",Return="cItem",Notes="Creates a copy of this object, with its count set to 1"},
DamageItem={Params="[Amount]",Return="bool",Notes="Adds the specified damage. Returns true when damage reaches max value and the item should be destroyed (but doesn't destroy the item)"},
Empty={Params="",Return="",Notes="Resets the instance to an empty item"},
GetMaxDamage={Params="",Return="number",Notes="Returns the maximum value for damage that this item can get before breaking; zero if damage is not accounted for for this item type"},
IsDamageable={Params="",Return="bool",Notes="Returns true if this item does account for its damage"},
IsEnchantable={Params="ItemType",Return="bool",Notes="(static) Returns true if the specified ItemType is an enchantable item, as defined by the 1.2.5 network protocol (deprecated)"},
IsEqual={Params="cItem",Return="bool",Notes="Returns true if the item in the parameter is the same as the one stored in the object (type, damage and enchantments)"},
IsSameType={Params="cItem",Return="bool",Notes="Returns true if the item in the parameter is of the same ItemType as the one stored in the object"},
IsStackableWith={Params="cItem",Return="bool",Notes="Returns true if the item in the parameter is stackable with the one stored in the object"},
AddItem={Params="{{cItem|cItem}}, [AllowNewStacks]",Return="number",Notes="Adds an item to the storage; if AllowNewStacks is true (default), will also create new stacks in empty slots. Returns the number of items added"},
AddItems={Params="{{cItems|cItems}}, [AllowNewStacks]",Return="number",Notes="Same as AddItem, but for several items at once"},
ChangeSlotCount={Params="SlotNum, AddToCount",Return="number",Notes="Adds AddToCount to the count of items in the specified slot. If the slot was empty, ignores the call. Returns the new count in the slot, or -1 if invalid SlotNum"},
ChangeSlotCount={Params="X, Y, AddToCount",Return="number",Notes="Adds AddToCount to the count of items in the specified slot. If the slot was empty, ignores the call. Returns the new count in the slot, or -1 if invalid slot coords"},
Clear={Params="",Return="",Notes="Empties all slots"},
CopyToItems={Params="{{cItems|cItems}}",Return="",Notes="Copies all non-empty slots into the cItems object provided; original cItems contents are preserved"},
DamageItem={Params="SlotNum, [DamageAmount]",Return="bool",Notes="Adds the specified damage (1 by default) to the specified item, returns true if the item reached its max damage and should be destroyed"},
DamageItem={Params="X, Y, [DamageAmount]",Return="bool",Notes="Adds the specified damage (1 by default) to the specified item, returns true if the item reached its max damage and should be destroyed"},
EmptySlot={Params="SlotNum",Return="",Notes="Destroys the item in the specified slot"},
EmptySlot={Params="X, Y",Return="",Notes="Destroys the item in the specified slot"},
GetFirstEmptySlot={Params="",Return="number",Notes="Returns the SlotNumber of the first empty slot, -1 if all slots are full"},
GetHeight={Params="",Return="number",Notes="Returns the Y dimension of the grid"},
GetLastEmptySlot={Params="",Return="number",Notes="Returns the SlotNumber of the last empty slot, -1 if all slots are full"},
GetNextEmptySlot={Params="StartFrom",Return="number",Notes="Returns the SlotNumber of the first empty slot following StartFrom, -1 if all the following slots are full"},
GetNumSlots={Params="",Return="number",Notes="Returns the total number of slots in the grid (Width * Height)"},
GetSlot={Params="SlotNumber",Return="{{cItem|cItem}}",Notes="Returns the item in the specified slot. Note that the item is read-only"},
GetSlot={Params="X, Y",Return="{{cItem|cItem}}",Notes="Returns the item in the specified slot. Note that the item is read-only"},
GetSlotCoords={Params="SlotNum",Return="number, number",Notes="Returns the X and Y coords for the specified SlotNumber. Returns \"-1, -1\" on invalid SlotNumber"},
GetSlotNum={Params="X, Y",Return="number",Notes="Returns the SlotNumber for the specified slot coords. Returns -1 on invalid coords"},
GetWidth={Params="",Return="number",Notes="Returns the X dimension of the grid"},
HasItems={Params="{{cItem|cItem}}",Return="bool",Notes="Returns true if there are at least as many items of the specified type as in the parameter"},
HowManyCanFit={Params="{{cItem|cItem}}",Return="number",Notes="Returns the number of the specified items that can fit in the storage, including empty slots"},
HowManyItems={Params="{{cItem|cItem}}",Return="number",Notes="Returns the number of the specified items that are currently stored"},
IsSlotEmpty={Params="SlotNum",Return="bool",Notes="Returns true if the specified slot is empty, or an invalid slot is specified"},
IsSlotEmpty={Params="X, Y",Return="bool",Notes="Returns true if the specified slot is empty, or an invalid slot is specified"},
RemoveOneItem={Params="SlotNum",Return="{{cItem|cItem}}",Notes="Removes one item from the stack in the specified slot and returns it as a single cItem. Empty slots are skipped and an empty item is returned"},
RemoveOneItem={Params="X, Y",Return="{{cItem|cItem}}",Notes="Removes one item from the stack in the specified slot and returns it as a single cItem. Empty slots are skipped and an empty item is returned"},
SetSlot={Params="SlotNum, {{cItem|cItem}}",Return="",Notes="Sets the specified slot to the specified item"},
SetSlot={Params="X, Y, {{cItem|cItem}}",Return="",Notes="Sets the specified slot to the specified item"},
},
Constants=
{
},
},
citems=
{
Desc=[[]],
Functions=
{
constructor={Params="",Return="cItems",Notes="Creates a new cItems object"},
Add={Params="Index, {{cItem|cItem}}",Return="",Notes="Adds a new item to the end of the collection"},
Add={Params="Index, ItemType, ItemCount, ItemDamage",Return="",Notes="Adds a new item to the end of the collection"},
Clear={Params="",Return="",Notes="Removes all items from the collection"},
Delete={Params="Index",Return="",Notes="Deletes item at the specified index"},
Get={Params="Index",Return="{{cItem|cItem}}",Notes="Returns the item at the specified index"},
Set={Params="Index, {{cItem|cItem}}",Return="",Notes="Sets the item at the specified index to the specified item"},
Set={Params="Index, ItemType, ItemCount, ItemDamage",Return="",Notes="Sets the item at the specified index to the specified item"},
Size={Params="",Return="number",Notes="Returns the number of items in the collection"},
<p>Thisclassinheritsfromthe{{cWindow|cWindow}}class,soallcWindow's functions and constants can be used, in addition to the cLuaWindow-specific functions listed below.
<p>WhencreatinganewcLuaWindowobject,youneedtospecifyboththewindowtypeandthecontents' width and height. Note that MCServer accepts any combination of these, but opening a window for a player may crash their client if the contents'dimensionsdon't match the client'sexpectations.
Thiscallback,settableviatheSetOnSlotChanged()function,willbecalledwheneverthecontentsofanyslotinthewindow's contents (i. e. NOT in the player inventory!) changes.
AddHook={Params="{{cPlugin|Plugin}}, HookType",Return="",Notes="Adds processing of the specified hook"},
BindCommand={Params="Command, Permission, Callback, HelpString",Return="",Notes="Binds an in-game command with the specified callback function, permission and help string"},
BindConsoleCommand={Params="Command, Callback, HelpString",Return="",Notes="Binds a console command with the specified callback function and help string"},
DisablePlugin={Params="PluginName",Return="",Notes="Disables a plugin specified by its name"},
ExecuteCommand={Params="Player, Command",Return="bool",Notes="Executes the command as if given by the specified Player. Checks permissions. Returns true if executed"},
ExecuteConsoleCommand={Params="Command",Return="bool",Notes="Executes the command as if given on the server console. Returns true if executed."},
FindPlugins={Params="",Return="",Notes="Refreshes the list of plugins to include all folders inside the Plugins folder (potentially new disabled plugins)"},
ForceExecuteCommand={Params="Player, Command",Return="bool",Notes="Same as ExecuteCommand, but doesn't check permissions"},
ForEachCommand={Params="Callback",Return="",Notes="Calls the Callback function for each command that has been bound using BindCommand()"},
ForEachConsoleCommand={Params="Callback",Return="",Notes="Calls the Callback function for each command that has been bound using BindConsoleCommand()"},
Get={Params="",Return="cPluginManager",Notes="Returns the single instance of the plugin manager"},
GetAllPlugins={Params="",Return="PluginTable",Notes="Returns a table of all plugins, [name => cPlugin] pairs"},
GetCommandPermission={Params="Command",Return="Permission",Notes="Returns the permission needed for executing the specified command"},
GetNumPlugins={Params="",Return="number",Notes="Returns the number of plugins, including the disabled ones"},
GetPlugin={Params="PluginName",Return="{{cPlugin|cPlugin}}",Notes="Returns a plugin handle of the specified plugin"},
IsCommandBound={Params="Command",Return="boolean",Notes="Returns true if in-game Command is already bound (by any plugin)"},
IsConsoleCommandBound={Params="Command",Return="boolean",Notes="Returns true if console Command is already bound (by any plugin)"},
LoadPlugin={Params="PluginFolder",Return="",Notes="Loads a plugin from the specified folder"},
ReloadPlugins={Params="",Return="",Notes="Reloads all active plugins"},
GetWindowID={Params="",Return="number",Notes="Returns the ID of the window, as used by the network protocol"},
GetWindowTitle={Params="",Return="string",Notes="Returns the window title that will be displayed to the player"},
GetWindowType={Params="",Return="number",Notes="Returns the type of the window, one of the constants in the table above"},
IsSlotInPlayerHotbar={Params="number",Return="bool",Notes="Returns true if the specified slot number is in the player hotbar"},
IsSlotInPlayerInventory={Params="number",Return="bool",Notes="Returns true if the specified slot number is in the player's main inventory or in the hotbar. Note that this returns false for armor slots!"},
IsSlotInPlayerMainInventory={Params="number",Return="bool",Notes="Returns true if the specified slot number is in the player's main inventory"},
SetSlot={Params="{{cItem|cItem}}",Return="",Notes="Sets the contents of the specified slot for the specified player. Ignored if the slot number is invalid"},
SetWindowTitle={Params="string",Return="",Notes="Sets the window title that will be displayed to the player"},