Item Packs
Listings of the in-game shop bundles. Snapshot at the runtime's startup time — the catalog doesn't refresh per-call, so cache the result if you iterate often.
for i, pack in pairs(getPacks()) do
pack.id
pack.price
pack.discount
pack.drops
pack.category
pack.vip
pack.steam
pack.onetime
pack.weight
end
Listing
getPacks()
| Field | Type |
|---|---|
| Signature | () → {ItemPack} |
| Returns | {ItemPack} — 1-indexed catalog of every pack client:buy(id) accepts |
| Async | no |
Captured from a live PixelWorlds 2.0.33 process. Refresh the dump via scripts/dump_packs.py when the game patches.
for _, pack in ipairs(getPacks()) do
if pack.category == "Locks" then
print(pack.id, pack.price)
end
end
ItemPack fields
| Field | Type | Notes |
|---|---|---|
id | string | Pack identifier (e.g. "HomeKit", "WorldLock"). Pass to client:buy(id). |
category | string | One of 16 catalog buckets — see below. |
price | number | Base gem price. |
discount | number | Discount in gems off price. Almost always 0 outside event windows. |
vip | boolean | True when the pack is VIP-only. |
steam | boolean | True when the pack is Steam-store-only. |
onetime | boolean | True when the pack can only be bought once per account. |
weight | number | Random-drop weight. Currently always 0 — the catalog doesn't enumerate per-tier weights. |
drops | {[any]: any} | Always an empty table — pack contents aren't exposed via the catalog dump. Use the in-game tooltip or the spec doc for now. |
Categories
Kits, Themes, FashionPack, Seeds, Locks, Fishing, Familiars, Pets, Orbs, Cards, Wiring, Items, Nether, Blueprints, Community, Clan.
Buy via client:buy("PackId").