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

Chess

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

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

Chess v1.0.3

Release16.08.2026

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

Chess v1.0.3

Chess v1.0.3 fixes two premove bugs from v1.0.2 — castling could not be queued as a premove, and premoving a capture onto a checked king drew a missing-glyph box — and adds an opt-in vertical castling easter egg. Internally the chess engine now lives inside the plugin, so Chess no longer depends on an external engine artifact.

Fixed

  • Castling is premovable again: Castling could not be queued as the first premove. The premove generator offered a king only its eight adjacent squares, so the two-square castling destination was rejected and the whole queue was cancelled. Because only the head of the queue is validated at queue time, castling already worked from the second position onwards, which is why this went unnoticed in v1.0.2. Both premove generators now offer castling: the one used for a selected piece, and the one used for a ghost selection on the projected board.
  • Premoving a capture onto a checked king no longer renders a raw glyph box: That square is both the checked king's square and a premove destination, so it took the red check wash while displaying the capturing piece as a ghost. The pack bakes the check wash for the two kings only — nothing else can be in check — so the result was a request for a codepoint the pack does not declare, and the client drew a tofu box. Such a square now stays premove blue and shows the ghost piece, which is also what it means: by the time the premove plays, the king may have moved away. Premove source squares follow the same rule, so a king premoved out of check shows its origin in premove blue rather than check red.

Added

  • Vertical castling easter egg (easter-egg.enable-vertical-castling, default false): The Pam-Krabbé castling. Promote a pawn to a rook on your king's own file and that rook has never moved, so the king may castle with it straight up the board — the king moves two squares towards it and the rook lands on the square the king crossed. White Ke1 with a promoted rook on e8 becomes Ke3, Re2; Black castles the same way down the board. Every normal castling restriction still applies: the king must not have moved, the file between them must be empty, and the king may not castle out of, through, or into check. Both squares up the file highlight — the first as an ordinary king step, the second as the castle — and the move is premovable like any other castling.

Changed

  • The chess engine is now vendored in-tree: The engine's rules, board, and game implementations live in the plugin under codes.castled.chess.engine, the same package the build previously relocated them to. The shipped JAR layout is unchanged, and the plugin still has no runtime engine dependency. Chess no longer needs the external pocket-chess-api and pocket-chess-common artifacts, and the Guice compile dependency is gone with them.
  • Castling is derived from board geometry rather than fixed squares: Move results now carry the rook's half of a castling move instead of a flag, so the rook's squares are no longer re-derived from the king's destination file. Castling rights track unmoved rooks by square rather than king-side and queen-side flags. Standard and vertical castling run through the same code.
  • Promotion is applied by the engine: Choosing a promotion piece previously wrote to the board directly, so the engine never learned a promotion had happened. It now goes through the engine, which is what lets a promoted rook count as never having moved.

Resource Pack

  • The pack namespace changed from pocketchess to chess. assets/pocketchess/ is now assets/chess/, and the board font is addressed as chess:board. Everything inside the pack already used the minecraft namespace and is unaffected.
  • The pack.mcmeta description is now Chess, replacing a leftover generated string.
  • No textures or codepoints were added or removed this release.

The pack SHA-1 has therefore changed and clients will redownload it, even though the board looks identical.

Configuration

settings.yml gains an easter-egg section:

easter-egg:
  enable-vertical-castling: false

Existing installs do not need editing. Chess merges any keys missing from an on-disk config with the bundled defaults at startup, so the new section is added automatically and the easter egg stays off until it is switched on.

Commands

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

Commands are unchanged from v1.0.2.

Verification

  • 35 tests pass across four suites: CastlingTest (23), PremoveTest (8), GlyphPackContractTest (3), and DialogContentGrowthTest (1).
  • CastlingTest covers standard king-side and queen-side castling, blocked paths, castling through an attacked square, lost rights, the vertical easter egg on and off, and the premove behaviour of each.
  • GlyphPackContractTest is new. It walks every combination of piece, highlight, and square colour and asserts the resource pack declares the codepoint the plugin emits. A missing glyph is invisible to every other test — the dialog still builds and only a screenshot shows the damage — so this pins the contract between the code and board.json.
  • 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 updated bundled pack during startup.

Because the pack's asset namespace changed, this release requires the updated pack to reach clients; running v1.0.3 against the v1.0.2 pack leaves the board font unresolved, and pieces will not render correctly. If ResourcePackManager merges the Chess pack, allow it to rebuild and redistribute the combined pack. If the pack is hosted or merged manually, replace that external copy with the new plugins/Chess/resourcepack.zip. Players may need to reconnect after the updated pack is available.

Chess v1.0.3 continues to target Paper 1.21.11, Java 21, and compatible Folia servers.

Файлы

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

Метаданные

Канал релиза

Release

Номер версии

1.0.3

Загрузчики

Folia
Paper
Purpur

Версии игры

1.21.6–26.2

Загрузок

1

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

16.08.2026

Загрузил

ID версии

Главная