Inventory
Mutate player inventories and containers through server-owned inventory services.
In this section
Related section pages:
Player Inventory
PlayerHandle.Inventory() returns an inventory handle whose mutations validate and sync through the server.
inventory.go
inv := playerHandle.Inventory()_, err := inv.Give(item.New("diamond_sword"). Enchant(item.Sharpness(5)). NameTag("Arena Blade"). Lore("Bound to the arena"). Stack())_, err = inv.Move(0, 1, 1)_, err = inv.Swap(1, 2)err = inv.SetHeldSlot(1)err = inv.Resync()Block Containers
Use world container handles for block inventories. Open sessions are marked dirty and resynced when content changes.
containers.go
_, err := ctx.RegisterBlock(content.DefineBlock("practice:crate"). Container(27). Drop(item.New("practice:crate").Stack()). Spec())container := worldHandle.ContainerAt(pos, 27)_, err := container.Give(item.New("diamond").Count(8).Stack())err = container.OpenFor(playerHandle.ID())err = container.Resync()