Chess

Chess

A plugin that features a working Chess board using dialogs and a resourcepack

2 downloads

Chess

Complete timed chess matches in Minecraft's native Paper dialog UI

Discord community GitHub repository GitHub issues

Chess turns Paper's native dialog system into a live, clickable 8x8 board. Challenge another player, choose a clock, and play a complete match without chest menus or a physical board.

Highlights

  • Native dialog board: 64 individually clickable squares in a clean, live interface.
  • Complete move handling: castling, en passant, promotion, check, checkmate, and stalemate.
  • Timed games: 17 presets from one-minute bullet to five-hour games, with increment options.
  • Useful board feedback: legal moves, selection, last move, check, captures, coordinates, and both clocks can be displayed directly in the dialog.
  • Player-friendly controls: flip the board, offer or accept a draw, resign safely, close the dialog, and reopen an active game at any time.
  • Resource-pack aware: the textured board is bundled, can register itself with ResourcePackManager, and has an optional Unicode fallback.
  • Folia ready: game mutations, clocks, commands, dialog sends, and pack delivery use Folia-safe scheduling.
  • Configurable: tune sounds, expiry timers, board behavior, labels, and messages.

See it in game

A timed Chess match in Minecraft's native dialog UI

Requirements

  • Java: 21
  • Server: Paper 1.21.11 or Folia based on the same API
  • Optional: ResourcePackManager

This plugin requires Paper's native Dialog API and does not run on a standard Spigot server. The chess engine and the board pack are included in Chess.jar; ResourcePackManager is not required.

Getting started

  1. Put Chess.jar in the server's plugins folder and restart.
  2. With ResourcePackManager installed, Chess registers its pack automatically.
  3. Without ResourcePackManager, host plugins/Chess/resourcepack.zip and set the public URL at resource-pack.url in plugins/Chess/settings.yml.
  4. Have one player run /chess duel <player> <time> and the other run /chess accept <player>.

Set ui.dialog.use-glyphs: false for standard Unicode pieces without the custom textures. Set resource-pack.use-resourcepack: false when another system will merge or distribute the pack.

Commands

Command What it does
/chess duel <player> <time> Send a timed duel request.
/chess accept <player> Accept a request from that player.
/chess decline <player> Decline a request from that player.
/chess open Reopen your active board.
/chess help Show command help.

Time modes: 1, 1|1, 2|1, 3, 3|2, 5, 5|2, 5|5, 10, 10|5, 15|10, 30, 60, 120, 180, 240, and 300. In increment modes, 5|2 means five minutes plus two seconds after each move.

All players can use Chess; version 1.0.0 has no permission nodes.

Support