@idosgames/mcp 0.1.27 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/registry/host.json +11 -71
- package/registry/index.json +109 -109
- package/registry/modules/ai.json +4 -4
- package/registry/modules/board-game.json +3 -3
- package/registry/modules/boosts.json +6 -6
- package/registry/modules/character.json +33 -5
- package/registry/modules/chat.json +25 -5
- package/registry/modules/collections.json +22 -6
- package/registry/modules/coop-events.json +6 -6
- package/registry/modules/craft.json +6 -6
- package/registry/modules/deals.json +2 -2
- package/registry/modules/events.json +5 -5
- package/registry/modules/friends.json +25 -5
- package/registry/modules/idle-rpg.json +2 -2
- package/registry/modules/inventory.json +2 -2
- package/registry/modules/invite.json +5 -5
- package/registry/modules/leaderboard.json +21 -5
- package/registry/modules/lootboxes.json +6 -6
- package/registry/modules/mailbox.json +33 -5
- package/registry/modules/marketplace.json +34 -6
- package/registry/modules/mini-game.json +2 -2
- package/registry/modules/multiplayer.json +34 -10
- package/registry/modules/premium.json +6 -6
- package/registry/modules/profile.json +4 -4
- package/registry/modules/pvp.json +33 -5
- package/registry/modules/quests.json +5 -5
- package/registry/modules/rewards.json +6 -6
- package/registry/modules/season.json +5 -5
- package/registry/modules/store.json +4 -4
- package/registry/modules/tutorials.json +2 -2
- package/registry/modules/voxelcraft.json +264 -12
- package/registry/modules/workshop.json +49 -5
- package/registry/skills/authentication.json +1 -1
- package/registry/skills/blockchain-system.json +1 -1
- package/registry/skills/checkout-system.json +1 -1
- package/registry/skills/cloud-code.json +2 -2
- package/registry/skills/currency-system.json +1 -1
- package/registry/skills/idosgames-compose-modules.json +1 -1
- package/registry/skills/idosgames-getting-started.json +1 -1
- package/registry/skills/idosgames-module-contract.json +2 -2
- package/registry/skills/idosgames-project-structure.json +1 -1
- package/registry/skills/idosgames-ui-kit.json +2 -2
- package/registry/skills/marketplace-system.json +1 -1
- package/registry/skills/match-system.json +1 -1
- package/registry/skills/multiplayer-realtime.json +2 -2
- package/registry/skills/voxelcraft-worlds.json +2 -2
- package/registry/skills/workshop-system.json +2 -2
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
"version": "0.1.1"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@idosgames/core": "0.21.
|
|
39
|
+
"@idosgames/core": "0.21.3",
|
|
40
40
|
"@idosgames/module-sdk": "0.10.0",
|
|
41
|
-
"@idosgames/react": "0.4.
|
|
41
|
+
"@idosgames/react": "0.4.5",
|
|
42
42
|
"react": "19.2.7"
|
|
43
43
|
},
|
|
44
|
-
"contentHash": "
|
|
44
|
+
"contentHash": "d83b947ca80dba4dea9a67182b0082880373e8ba7a6c713fd8b60bab0e62f561",
|
|
45
45
|
"files": [
|
|
46
46
|
{
|
|
47
47
|
"path": "i18n.ts",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"path": "module.ts",
|
|
60
|
-
"content": "import {
|
|
60
|
+
"content": "import {\n defineModule,\n type Module,\n type ModuleContext,\n} from \"@idosgames/module-sdk\";\nimport { StoreScreen } from \"./StoreScreen\";\nimport { freeOffersWaiting, hasOffers } from \"./model\";\nimport { t } from \"./i18n\";\n\n// The shop as a feature of the game (ctx.features): the lobby shows it as a main tab once the\n// storefront has offers. Its badge counts free offers waiting to be taken (the daily gift), kept\n// fresh by an invisible always-on panel — the screen itself is mounted only while open.\nexport const storeModule: Module = defineModule({\n id: \"store\",\n meta: { name: \"Shop\", type: \"app\", engine: \"dom\" },\n setup(ctx) {\n ctx.features.register({\n id: \"store\",\n label: t(\"title\"),\n icon: \"shop\",\n group: \"economy\",\n order: 10,\n primary: true,\n available: false,\n Screen: StoreScreen,\n });\n watchBadge(ctx);\n ctx.exposeToAgent({\n state: () => ({\n ui: \"dom\",\n feature: \"store\",\n badge: ctx.features.get(\"store\")?.badge ?? 0,\n }),\n describeActions: {},\n });\n },\n});\n\nfunction watchBadge(ctx: ModuleContext): void {\n const { client, features } = ctx;\n ctx.effect(() => {\n const update = () => {\n const front = client.store.cachedStorefront;\n features.setAvailable(\n \"store\",\n hasOffers(front),\n \"the storefront has no offers (Store section)\",\n );\n features.setBadge(\"store\", freeOffersWaiting(front));\n };\n // A free gift comes back with the next day: look again every few minutes.\n ctx.every(5 * 60_000, () => void client.store.getStorefront().then(update));\n // The badge is counted from the STOREFRONT, and after a purchase the screen re-reads it: the\n // purchase's own state update comes before that, with the old storefront still cached — so the\n // gift just taken kept the badge lit until the next re-read here. Count again on every load.\n const offs = [\n client.on(\"user:anyUpdated\", update),\n client.on(\"store:storefrontLoaded\", update),\n ];\n return () => {\n for (const off of offs) off();\n };\n });\n}\n"
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"path": "StoreScreen.tsx",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"version": "0.1.1"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@idosgames/core": "0.21.
|
|
35
|
+
"@idosgames/core": "0.21.3",
|
|
36
36
|
"@idosgames/module-sdk": "0.10.0",
|
|
37
|
-
"@idosgames/react": "0.4.
|
|
37
|
+
"@idosgames/react": "0.4.5",
|
|
38
38
|
"react": "19.2.7"
|
|
39
39
|
},
|
|
40
40
|
"contentHash": "cc04f0006881944dfa7119ed02d591b48c7d650dbfdc71f981ecedac5d5998f5",
|