▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Chess

Chess

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

Оцените первым
14
0
Все версииChess v1.0.4

Chess v1.0.4

Release16.08.2026

Список изменений

Chess v1.0.4

Chess v1.0.4 runs on Spigot. Where Paper's Dialog API is unavailable the board is drawn from Bukkit inventories instead, and the plugin picks the right one automatically. Paper and Folia are unaffected and keep the dialog board.

!The inventory board

Added

  • Inventory board: A second board rendered from Bukkit inventories, using no Paper API at all. A chess board needs 64 squares and a chest holds 54, so it spans a six-row chest for the six ranks furthest from you and the two rows of your own inventory nearest it for the two closest — the two read as one continuous board. Your items are held aside while a board is open and given back when it closes.
  • Automatic board selection: The plugin detects the Dialog API at startup and uses the dialog board where it exists, the inventory board where it does not. The startup log line records which it chose.
  • ui.mode in settings.yml (auto | dialog | inventory): auto follows the server. inventory forces the inventory board even on Paper. dialog on a server without the Dialog API is refused with a warning rather than honoured, because honouring it would leave players with no board at all.

Changed

  • Scheduling picks a backend by platform: Paper and Folia keep the region-aware schedulers, which Folia requires because its world state is split across region threads. Spigot uses the legacy Bukkit scheduler. The plugin's rule is unchanged either way: authoritative game state is mutated on the global region, which on Spigot is simply the main thread.
  • The clickable [Watch Game] broadcast survives on both: Paper renders it with Adventure as before, Spigot with the BungeeCord chat components it bundles instead, so the click and hover work everywhere.
  • /chess watch now answers when spectating is unavailable instead of doing nothing. The inventory board refuses spectators, because it borrows the viewer's own inventory to draw the board and that is not a price to charge someone who is not playing.

Scope of the inventory board

It covers core chess: the board, moves, legal-move highlights, promotion, draw and resign.

These are dialog-board features and are inactive on the inventory board:

  • Premoves, including the ghost pieces and blue highlights
  • Spectating via /chess watch
  • Focus mode
  • The last-move highlight
  • The on-board clock

The clock still runs. It is simply not drawn on the inventory board, so a player can still lose on time there without a visible countdown. Use the dialog board on Paper if that matters to you.

Known limitation

Because the board occupies your inventory, your items are held in memory while it is open and restored when it closes, when you resign, when you disconnect, or when the plugin disables. If the server process is killed outright while a board is open, that in-memory copy goes with it and those items are lost. Closing the board, ending the game, or a clean server stop all restore normally.

Configuration

settings.yml gains ui.mode above the existing ui.dialog block:

ui:
  mode: auto
  dialog:
    ...

The existing ui.dialog keys are shared by both boards where they make sense, so show-legal-moves and orientation-follows-player apply to the inventory board too. The dialog-only keys (title, allow-escape-close, show-coordinates, show-captured-pieces, square-button-width) are ignored when the inventory board is active.

Existing installs need no editing. Chess merges keys missing from an on-disk config with the bundled defaults at startup, so ui.mode is added automatically and defaults to auto.

Commands

/chess duel <player> <time>
/chess accept <player>
/chess decline <player>
/chess watch <player>
/chess open
/chess help

Commands are unchanged from v1.0.3. /chess watch reports that spectating is unavailable when the inventory board is active.

Verification

  • 41 tests pass across five suites.
  • InventoryLayoutTest is new and pins the mapping between chess squares and inventory slots: every square round-trips through its slot for both colours, no two squares share a slot, all 64 are placed, and the spare ninth column of each row holds no square. An error there would quietly move the wrong piece rather than throw.
  • A scan of the compiled classes confirms every reference to a Paper or Adventure class sits in a class that only loads on a server providing it — the dialog builders, the Adventure broadcaster, and the region scheduler backend. The platform detector names those classes only as strings, so it loads anywhere.
  • gradle clean build succeeds.

Upgrade Note

Replace the previous Chess.jar and fully restart the server. Chess will overwrite plugins/Chess/resourcepack.zip with the bundled pack during startup.

The resource pack is unchanged from v1.0.3 — the inventory board's piece models, item definition and GUI background all shipped already. If you are coming from v1.0.2 or earlier, the pack's asset namespace changed in v1.0.3 and the updated pack must reach clients or pieces will not render correctly; see the v1.0.3 notes.

Chess v1.0.4 targets Java 21 and Minecraft 1.21.11 on Spigot, Paper, or Folia.

Файлы

Chess.jar(352.48 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.0.4

Загрузчики

Folia
Paper
Purpur
Spigot

Версии игры

1.21.6–26.2

Загрузок

1

Дата публикации

16.08.2026

Загрузил

ID версии

Главная