feat(quests): source objective targets from Hypixel resource with drift check#860
Draft
ugcodrr wants to merge 2 commits into
Draft
feat(quests): source objective targets from Hypixel resource with drift check#860ugcodrr wants to merge 2 commits into
ugcodrr wants to merge 2 commits into
Conversation
…ft check Add a committed generated map of quest objective targets keyed by Hypixel quest id, a drift-check/regen script, and wire the targets into QuestOption so they are available at the schema layer without any runtime fetch. - packages/schemas: add objective-targets.generated.ts (127 quests from the live Hypixel quests resource, sorted for deterministic diffs) - packages/schemas: extend QuestOption with optional `objectives` field; createGameModeQuests now populates it from the generated map at module load time — quests without a match are unchanged - apps/scripts: add regen-quest-targets.js — fetches live resource, regenerates the committed map, and prints a 4-category drift report (local missing from Hypixel, Hypixel missing from local, target changes, and fuzzy/containment near-mismatches) - apps/scripts, packages/schemas: add `quests:regen` script alias Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
* Introduced MonthlyQuests and updated questMetadata structure * Improved quest entries filtering and sorting logic * Added support for tracking quest progress with current and target values * Updated various quest modes to reflect new field names and structures
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
objective-targets.generated.ts) of all 127 Hypixel quest ids → objective targets, sourced fromGET https://api.hypixel.net/v2/resources/questsand sorted for deterministic diffsQuestOptionwith an optionalobjectives?: Record<string, number>field;createGameModeQuestspopulates it at module load time from the generated map — quests with no match in the map are unchangedapps/scripts/src/regen-quest-targets.js— a maintenance script that fetches the live resource, regenerates the committed map, and prints a 4-category drift reportquests:regenscript aliases to bothapps/scripts/package.jsonandpackages/schemas/package.jsonLocal definitions remain the source of truth for all
propertyKeys, leaderboard metadata, display order, names, and coverage. The Hypixel resource is consumed only for numeric objective targets.Drift report (as of generation)
Running
pnpm scripts quests:regenreports these known mismatches between our local schema and the Hypixel resource:bedwars_weekly_challenges→ resource hasbedwars_weekly_challenges_winduels_kills→ resource hasduels_killerprototype_pit_*→ resource usespit_*prefix (player data usesprototype_pit)vampirez_vampirez_weekly_kill→ doubled prefix bug; field already contains the prefixThese are pre-existing schema issues, not introduced by this PR. They are not fixed here (fields/propertyKeys are frozen per the design).
Regen command