Skip to main content

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()

FieldType
Signature() → {ItemPack}
Returns{ItemPack} — 1-indexed catalog of every pack client:buy(id) accepts
Asyncno

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

FieldTypeNotes
idstringPack identifier (e.g. "HomeKit", "WorldLock"). Pass to client:buy(id).
categorystringOne of 16 catalog buckets — see below.
pricenumberBase gem price.
discountnumberDiscount in gems off price. Almost always 0 outside event windows.
vipbooleanTrue when the pack is VIP-only.
steambooleanTrue when the pack is Steam-store-only.
onetimebooleanTrue when the pack can only be bought once per account.
weightnumberRandom-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").