GetBlockType={Params="",Return="BLOCKTYPE",Notes="Returns the blocktype which is represented by this blockentity. This is the primary means of type-identification"},
GetChunkX={Params="",Return="number",Notes="Returns the chunk X-coord of the block entity's chunk"},
GetChunkZ={Params="",Return="number",Notes="Returns the chunk Z-coord of the block entity's chunk"},
GetPosX={Params="",Return="number",Notes="Returns the block X-coord of the block entity's block"},
GetPosY={Params="",Return="number",Notes="Returns the block Y-coord of the block entity's block"},
GetPosZ={Params="",Return="number",Notes="Returns the block Z-coord of the block entity's block"},
GetRelX={Params="",Return="number",Notes="Returns the relative X coord of the block entity's block within the chunk"},
GetRelZ={Params="",Return="number",Notes="Returns the relative Z coord of the block entity's block within the chunk"},
GetWorld={Params="",Return="{{cWorld|cWorld}}",Notes="Returns the world to which the block entity belongs"},
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"},
Seealso{{cRoot}}'s GetFurnaceRecipe() and GetFurnaceFuelBurnTime() functions
]],
Functions=
{
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"},
fsFuel={Notes="Index of the fuel slot"},
fsOutput={Notes="Index of the output slot"},
ContentsWidth={Notes="Width (X) of the {{cItemGrid|cItemGrid}} representing the contents"},
ContentsHeight={Notes="Height (Y) of the {{cItemGrid|cItemGrid}} representing the contents"},
},
ConstantGroups=
{
SlotIndices=
{
Include="fs.*",
TextBefore="When using the GetSlot() or SetSlot() function, use these constants for slot index:",
},
},
Inherits="cBlockEntityWithItems"
},-- cFurnaceEntity
cHopperEntity=
{
Desc=[[
Thisclassrepresentsahopperblockentityintheworld.
]],
Functions=
{
GetOutputBlockPos={Params="BlockMeta",Return="bool, BlockX, BlockY, BlockZ",Notes="Returns whether the hopper is attached, and if so, the block coords of the block receiving the output items, based on the given meta."},
},
Constants=
{
ContentsHeight={Notes="Height (Y) of the internal {{cItemGrid}} representing the hopper contents."},
ContentsWidth={Notes="Width (X) of the internal {{cItemGrid}} representing the hopper contents."},
TICKS_PER_TRANSFER={Notes="Number of ticks between when the hopper transfers items."},
EjectRecord={Params="",Return="bool",Notes="Ejects the current record as a {{cPickup|pickup}}. No action if there's no current record. To remove record without generating the pickup, use SetRecord(0). Returns true if pickup ejected."},
IsPlayingRecord={Params="",Return="bool",Notes="Returns true if the jukebox is playing a record."},
IsRecordItem={Params="ItemType",Return="bool",Notes="Returns true if the specified item is a record that can be played."},
PlayRecord={Params="RecordItemType",Return="bool",Notes="Plays the specified Record. Return false if the parameter isn't a playable Record (E_ITEM_XXX_DISC). If there is a record already playing, ejects it first."},
GetLine={Params="LineIndex",Return="string",Notes="Returns the specified line. LineIndex is expected between 0 and 3. Returns empty string and logs to server console when LineIndex is invalid."},
SetLine={Params="LineIndex, LineText",Return="",Notes="Sets the specified line. LineIndex is expected between 0 and 3. Logs to server console when LineIndex is invalid."},
SetLines={Params="Line1, Line2, Line3, Line4",Return="",Notes="Sets all the sign's lines at once."},