Skip to content
MethodDescription
getAddress()Gets the Packager's address
getItemDetail(slot)Gets detailed information about an item in an attached inventory's given slot
getPackage()Gets the package object of the currently hald package
list()Lists all items in the connected inventory
makePackage()Makes a package
setAddress([address])Sets the Packager's address

getAddress()

Gets the Packager's address.

Returns

  • string With the address currently in use.

getItemDetail(slot)

Get detailed information about an item in the connected inventory.

The returned information contains the same information as each item in list, as well as additional details like the display name (displayName), and item durability (damage, maxDamage, durability).

Some items include more information (such as enchantments) - it is recommended to print it out using textutils.serialize or in the Lua REPL, to explore what is available.

Parameters

  • slot: number The slot to get information about.

Throws

  • If the slot is out of range.

Returns

  • table Information about the item in this slot, or nil if it is empty, like:
lua
{
  name = "minecraft:apple",
  itemGroups = {},
  tags = {},
  count = 1,
  maxCount = 64,
  displayName = "Apple",
}

getPackage()

Get an interactive package object for the package currently held by the packager.

Package objects return true on their respective isValid function, and allow for the usage of setAddress while held inside a packager/repackager.

Returns

  • table of a package object or nil if there is none.

list()

List all items in the connected inventory. This returns a table, with an entry for each slot.

Each item in the inventory is represented by a table containing some basic information. More information can be fetched with getItemDetail. The table contains the item name, the count and a (potentially nil) hash of the item's nbt. This NBT data doesn't contain anything useful, but allows you to distinguish identical items.

The returned table is sparse, so empty slots will be nil - it is recommended to loop over using pairs rather than ipairs.

Returns

  • table with basic item information like:
lua
{
  {
    name = "minecraft:apple",
    count = 1,
  },
  {
    name = "minecraft:stick",
    count = 1,
  },
  [ 10 ] = {
    nbt = "ce5c752cf2df5cf4ffb17d7b7bfacad7",
    count = 1,
    name = "minecraft:enchanted_book",
  },
}

makePackage()

Activates the packager like if it was powered by redstone. It operates by the same rule as a button press, but unlike a redstone signal, returns a value on if it actually succeeded at making a package.

Returns

  • boolean whether a new package was made successfuly.

setAddress([address])

Sets the Packager's address to the given variable until it tries to make a package with no computer attached, at which point it forgets about it and goes back to normal behavior. If you want to programatically assign it an address every time, it's a good idea to put .setAddress in a startup.lua file, so it applies the address you want on chunkload.

If the address arg is nil, it'll go back to the default sign-based behavior again.

Parameters

  • address?: string = nil Force every package to be addressed to address. Goes back to default if address is nil.