FeaturedMana Stats is a full-featured statistics and item-exploration platform for the ManaCube Minecraft server. Alongside player profiles, SVA collection tools, parkour data, guild insights, trading, and advanced search, it contains a custom rendering pipeline for ManaCube's resource packs. The system automatically downloads and indexes ManaPack assets, connects item materials and custom-model-data values to Minecraft and ModelEngine model definitions, stores model and texture metadata in PostgreSQL, and reconstructs the models as interactive React Three Fiber scenes. It resolves texture references and namespaces, translates Minecraft face UV coordinates and display transforms into Three.js materials, preserves pixel-art filtering, and supports vertically stacked animated textures described by .png.mcmeta files. A separate headless-browser worker renders those scenes into cached PNG thumbnails or frame-stepped GIF previews and selectively regenerates them when source textures change. The same platform data is also available through a companion Discord bot for profiles, parkour, guilds, economy, and other server information.
Full Stack Developer
A background updater downloads the latest ManaPack archive, discovers every assets namespace, parses item overrides and custom-model-data mappings, follows Minecraft and ModelEngine model definitions, and synchronizes model elements, groups, materials, display transforms, texture references, and file hashes into PostgreSQL.
PNG assets and their .png.mcmeta animation metadata are indexed by namespace and served to the viewer as encoded texture data. The client resolves indirect #texture references, applies nearest-neighbour filtering and sRGB colour space, then clones textures per face so each material can have independent UV offsets, repeats, rotations, and animation state.
Resource-pack cuboids are converted into Three.js geometry while preserving Minecraft coordinates, rotation origins, inverted dimensions, per-face UV rectangles, transparent pixels, GUI/display transforms, flat PNG item layers, and multipart ModelEngine assemblies. Animated sprite sheets advance by Minecraft tick timing or deterministic manual frame stepping.
A pooled Puppeteer worker opens a dedicated WebGL model-viewer route, waits for explicit scene-ready and error signals, and captures static models as PNGs. Animated models are stepped frame by frame, captured as PNG buffers, decoded with pngjs, and assembled into looping GIFs. Texture hashes invalidate and regenerate only affected previews.




