Sky-Mutations

2025/12 · Visibility: public

Greenhouse Layout Optimizer for the video game Hypixel Skyblock (Minecraft)

Next.js · React · TypeScript · Tailwind CSS · MongoDB (Mongoose)

Summary

Sky-Mutations is a Hypixel SkyBlock (Minecraft) web tool for planning mutation fusion requirements and optimizing Garden greenhouse layouts. The purpose was to simplify a complex game mechanic into a digestable and usable format for players. It replaced exisiting spreadsheets with a fast, interative UI that stays accurate as pricing and game data changed.

Achievements

What the site does

  • Mutation explorer: pick a mutation and see the full ingredient chain required to craft it (including nested requirements).
  • Costing (optional): estimate coin cost using live market pricing, with toggles for buy vs sell style pricing.
  • Greenhouse planner: plan greenhouse placements under real constraints (unlocked slots, crop size, planting patterns, multi-plot support).

Algorithms & logic (high level)

  • Decomposition tree (fusion requirements)

    • Mutations form a directed graph: each mutation depends on other items (which may themselves be mutations).
    • The site builds a decomposition tree rooted at the selected mutation by expanding requirements downward.
    • Quantities propagate by multiplication: if you need (k) of an ingredient per craft, and you’re crafting (n) total, the child node quantity becomes (k \times n).
    • To keep the tree fast, the system can use stored “patterns”*(precomputed decomposition structure) when available, falling back to on-the-fly expansion if needed.
  • Greenhouse placement / layout planning

    • The greenhouse is modeled as a grid (10×10) with a mask of unlocked vs locked cells.
    • Each plant/mutation occupies a footprint (1×1, 2×2, 3×3) and may require a planting pattern (offset rules / ingredient arrangement).
    • The planner searches for placements that fit the footprint entirely within unlocked cells and avoids collisions with already-placed items.
    • Manual mode lets users place items directly and then runs validation to catch missing prerequisites or impossible placements.
  • Pricing + totals

    • When pricing is enabled, the site fetches live market data and then rolls costs up the tree (each node’s cost contributes to the parent).
    • Totals are computed after the tree is built so the UI can progressively render structure even if pricing is still loading.

Caching & performance

  • Server-side price caching

    • Bazaar prices are cached in-memory for a short window to avoid hammering external APIs and to keep page loads snappy.
    • Coflnet-based mutation price snapshots are cached longer (and can be persisted as a snapshot) to reduce repeated fetch cost.
  • Precomputed mutation patterns

    • Common decomposition structures can be stored with each mutation so trees can be built quickly without re-walking the entire dependency graph every request.
  • Client-side state caching (UX)

    • Greenhouse unlocked slots, plot count, selected mutations, and drafts are persisted client-side so users don’t lose work between refreshes.
    • Saved layouts can be exported/imported as compact share codes for sharing or restoring across devices.
  • UI data fetching

    • The app uses API calls and query caching to avoid redundant requests while navigating between pages.

Integrations (API)

  • Hypixel API (Bazaar + profile data)
  • PlayerDB (username → UUID)
  • COFL (Bazaar Pricing)

Screenshots

Greenhouse

Rose Dragon