Items is not creatable, there's only one instance of it. It can only be accessed through its globally exposed variable.

Items is a shortcut to Config.Items.

It's basically an array of of strings, indexed in different ways once items are loaded.

Items can be used to instanciate Shapes and MutableShapes.

An item is always identified by its repository and its name: repo_name.item_name.

The repository name usually corresponds to the author's username.

NOTE: The repository name can be ommited for official items: Items.official.sword == Items.sword.

How to load items for your game?

Config = {
  Items = {"aduermael.pumpkin", "aduermael.tomato"}
-- also works this way:
Config.Items = {"aduermael.pumpkin", "aduermael.tomato"}
-- or 
Items = {"aduermael.pumpkin", "aduermael.tomato"}

(See Config for more details)

How to use loaded items?

Once the game is loaded (after Client.OnStart has been called), Items can be used to instanciate Shapes or MutableShapes:

local s = Shape(Items.aduermael.pumpkin)
-- or
local s = Shape(Items["aduermael.pumpkin"])
-- or even this way, if you know the index:
local s = Shape(Items[1])