u/ConsequenceDry1332

I made a block-puzzle game that runs inside a Minecraft map item. Hold the map to play.

I made a block-puzzle game that runs inside a Minecraft map item. Hold the map to play.

I built a competitive block-puzzle game that runs entirely inside a Minecraft map item. After about 2 years of development, I'm finally releasing it publicly.

What is it?

Chanyoris is a plugin that renders a full competitive block-puzzle game onto a 128×128 map item. Hold the map to play. No client mods required on the server side.

It's not a simplified version. The full competitive ruleset is implemented — SRS wall kicks (JLSTZ, I, 180°), T-Twist with mini detection, Back-to-Back, combo garbage table, Perfect Clear (+10 lines), IRS/IHS, lock delay, staged garbage queue with cancellation, badge/KO system, 4 targeting strategies, and counter bonus.

15 game modes

Solo, CPU (beam-search AI, 8 tiers), Story (5 chapters), CHANITAS (20G gravity), Basement (depth survival), Ender Dragon (boss fight), Creeper (exploding creepers), TNT Battle (garbage ×2+1), Revolution (limit-thinking AI), Saga (hardest AI), VS (1v1), Battle Royale (with full badge/KO system), Dimension Battle, Live Watch, Replay with ghost runner.

Two world-first mechanics

OFFHAND view — Your right hand shows your board. Your left hand shows your opponent's board live on a separate map. I've never seen this done in any Minecraft plugin.

Dimension Battle reverse mechanic — One player is the Puzzle Boss. Everyone else is a Minecraft survivor. Survivors can kill mobs to send garbage to the Boss, or build a complete row of 10 blocks in the world to rescue the Boss instead. "Attackers vs Builders" in one game mode.

Fabric client mod (optional)

A companion mod upgrades the display from ~10fps map rendering to native 60fps+ HUD. It also spawns real client-side Minecraft entities during gameplay:

  • Ender Dragon appears in front of you during boss fights, flashes red when hit, plays the full death animation on defeat
  • Creeper walks toward you from 24 blocks away during Creeper mode, hisses when close, explodes when the cell is cleared
  • 36 TNTs surround you during TNT Battle and explode on every piece placement, line clear, and garbage impact
  • Lightning strikes on every Battle Royale KO
  • Fireworks burst on Perfect Clears

All client-side. No world damage. No server load.

The mod also handles DAS/ARR client-side (130ms/28ms, nanosecond precision), full controller support via direct GLFW gamepad reading, and sends inputs directly to the server via plugin messaging channel — so WASD is freed up and you can walk around while playing.

Technical highlights

  • Async beam-search AI (separate thread, no server lag even with multiple simultaneous CPU matches)
  • Custom binary protocol v5 over plugin messaging channels (5 channels, 26 fields per state packet)
  • Anti-cheat bridge — reflection-based auto-detection and integration with 19 major anti-cheat plugins
  • Server settings sync to mod every tick (target line, ghost, view mode, accent color, etc.)
  • Build version identification (1 bit) — mod auto-follows server's display naming without code changes
  • Public API: ChanyorisGameEndEvent for connecting other plugins
  • mcMMO companion plugin included

Stats

  • ~11,500 lines of Java across 3 projects (plugin, client mod, MMO addon)
  • 218KB jar size
  • Paper 1.21.1+ / Java 25+ required

Bedrock crossplay via Geyser

https://preview.redd.it/pkd5vckja79h1.png?width=1170&format=png&auto=webp&s=df3ef18cbc3640937ba26b85ff3b0985536d3ee0

reddit.com
u/ConsequenceDry1332 — 12 days ago