CobbleProfiler
CobbleProfiler is a Fabric mod that profiles the performance impact of cobblemon Pokemon entities on a Minecraft 1.21.1 server.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
CobbleProfiler
CobbleProfiler
CobbleProfiler is a Fabric mod that profiles the performance impact of https://cobblemon.com Pokemon entities on a Minecraft 1.21.1 server. It has zero compile-time dependency on Cobblemon — it uses a Mixin on LivingEntity.tick() with a runtime class name check and reflection to extract species data.
What it tracks
- Entity tick time — Measures how long each Pokemon entity takes to tick (in ms), with per-entity breakdown, averages, and max values - Spawn calculations — Profiles the overhead of Cobblemon's spawn system by timing ServerPlayerEntity.tick() (where Cobblemon injects its PlayerSpawner logic) - Network packets — Counts S2C packets (position, velocity, animation, attributes, tracker updates) per Pokemon entity per second - RAM usage — Heuristic-based memory estimation per entity (~7KB base + adjustments for custom names, passengers, moves)
How you interact with it
- F7 — Toggles a HUD overlay in the top-right corner with real-time metrics and a tick time sparkline graph - F8 — Opens a full-screen GUI with 4 tabs: Overview (summary cards + graph), Entities (top 20 sorted by tick time), Spawning (spawn calc history), Network (packets/sec breakdown + bandwidth estimate) - /cobbleprofiler — Chat commands: status, report (with OK/WARNING/NOTICE verdict), web on|off, reset - Web panel (port 8095) — HTTP server with a dashboard and JSON API at /api/metrics and /api/history, using the JDK built-in HttpServer (no external dependencies)