COWMODSКаталог модов

SignEdit for Bukkit

Enhanced tools to edit existing Bukkit signs. This is a fork of Omel's SignEdit with improved functionality.

Автор: Deltik7090обновлён 15 янв. 2026 г.
Утилиты

Описание

SignEdit for Bukkit

[​Release@GitHub] [​Downloads@Total] [​Downloads@Latest] [​Ratings@Spigot]

SignEdit for Bukkit is a Bukkit plugin that allows players to edit sign objects by looking at them or clicking on them and typing in a SignEdit command.

[​SignEdit for Bukkit v1.14.0 – /sign help]

Installation

  1. Download the latest .jar file from the Releases page and upload it to your Bukkit server (Spigot, PaperMC, etc.) plugins/ folder.
  2. Restart your Bukkit server. Usage, Permissions, Configuration, and Features Full documentation of this plugin can be found in the GitHub project README.md.

Compatibility

This plugin is a fork of Omel's SignEdit v1.3. Omel's SignEdit v1.3 and older are not compatible with Bukkit 1.12 and newer because a deprecated API method was removed (see related issue in MyPet).

More compatibility information can be found in the GitHub project README.md.

Галерея

SignEdit for Bukkit v1.9.2 – /sign helpSignEdit for Bukkit v1.9.2 – /sign setSignEdit for Bukkit v1.9.2 – /sign clearSignEdit for Bukkit v1.9.2 – /sign ui

Последние версии

Все версии →
release

v1.14.7 (2025-11-28)

1.14.7
15 янв. 2026 г.161Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Added * `/sign cut` now shows the unexpected differences when another plugin overrides the line removals. ![`/sign cut` with SignEdit for Bukkit v1.14.7](https://i.imgur.com/kilZyoY.png) ### Fixed * When using `/sign set` or `/sign clear`, sign text modifications made by other plugins (via `SignChangeEvent`) were not detected due to a state tracking bug. This bug did not affect `/sign ui`. ### Under the Hood * Removed the Dagger 2 dependency injection framework in favor of simpler manual dependency wiring. This reduces the plugin JAR size by ~98KB (~38%) while maintaining the same separation of concerns through explicit service containers (`SignEditPluginServices`, `SubcommandContext`). * Added compile-time annotation processing for `@SignSubcommandInfo` to validate subcommand metadata and improve tab completion accuracy with argument hints. * Unified all `SignEditInteraction` constructors to accept `SubcommandContext`, reducing boilerplate through a shared abstract base class with convenience accessors for common services.
release

v1.14.6 (2025-06-05)

1.14.6
15 янв. 2026 г.20Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Fixed * `java.lang.NoSuchMethodException: java.lang.Object.getTileEntity()` when opening the native sign editor GUI on Paper 1.21.5 (#44) ### Under the Hood * Updated copyright year 2025 * Although unnecessary, the reflection-based sign editor opener now takes into account CraftBukkit 1.21.5's retrieval of `net.minecraft.block.entity.SignBlockEntity`, the new name of `net.minecraft.tileentity.TileEntitySign`. This plugin should be calling `org.bukkit.entity.Player#openSign(org.bukkit.block.Sign,org.bukkit.block.sign.Side)` on Bukkit 1.20+.
release

v1.14.5 (2024-10-21)

1.14.5
15 янв. 2026 г.20Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Fixed * Missing cancelled `SignChangeEvent` validation when checking a `SignChangeEvent` emitted by this plugin (#43) Only affects `compatibility.edit-validation: Extra`. ### Under the Hood * Updated copyright year 2024 * Switched CI provider from CircleCI to GitHub Actions * Fully automated release in CI * Updated Gradle to version 8.10.2
release

v1.14.4 (2023-07-31)

1.14.4
15 янв. 2026 г.10Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Fixed * `java.lang.IllegalStateException: Unable to call method: getSide` on Bukkit 1.19.4 due to incomplete sign side support in that version of Bukkit ### Under the Hood * `SignHelpers.setEditableOldApi()` called the wrong Bukkit method (should be `Sign.setEditable()` instead of `Sign.setWaxed()`), but this probably has no practical effect. It only affects the correctness of how this plugin interacts with Bukkit 1.13.2 through Bukkit 1.19.4. * The sign side calculation based on the player's relative position from the sign (`SideShim.fromRelativePosition`) will now say front on Bukkit 1.19.4 and older, as the back side had not yet been added in those versions of Bukkit.
release

v1.14.3 (2023-07-25)

1.14.3
15 янв. 2026 г.12Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Fixed * `/sign ui` could be invoked by right-clicking a sign in Minecraft 1.20 when the player did not have the `signedit.sign.ui` permission. * `java.lang.IllegalArgumentException: Sign must be in same world as Player` in the right-click-on-sign event handler (#42)
release

v1.14.2 (2023-07-22)

1.14.2
15 янв. 2026 г.10Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Fixed * `/sign ui` and the equivalent right-click override may incorrectly be hiding issues with the player opening the sign editor. (#42) ### Under the Hood * Remove ProGuard to improve the readability of stack traces * Narrow down potential `/sign ui` issues by reducing the `catch` scopes to just methods and fields that are missing when opening the native sign editor GUI
release

v1.14.1 (2023-07-20)

1.14.1
15 янв. 2026 г.18Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Fixed * Dyes could not be used on editable signs due to an overly aggressive override. (#41) * Ink sacs and glow ink sacs could not be used on editable signs due to an overly aggressive override. (#41) * Item usages on signs should be ignored when the player is sneaking. This is the native Minecraft behavior.
release

v1.14.0 (2023-07-17)

1.14.0
15 янв. 2026 г.17Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit
Скачать
Что нового
### Added * Support for Minecraft 1.20 sign sides (front and back) * Support for Minecraft 1.20 honeycomb wax on signs * On Minecraft 1.20+, opening an editable sign (without honeycomb wax) by right-click will open a sign editor handled by this plugin. * (Minecraft 1.20+ only) `/sign wax` and `/sign unwax` commands and permissions to apply and remove honeycomb wax from signs, respectively * New locale strings: * `unwax_sign` – `/sign unwax` pending action description * `wax_sign` – `/sign wax` pending action description * `wax_removed` – Completed `/sign unwax` action * `wax_applied` – Completed `/sign wax` action * `bypass_wax_cannot_rewax` – Warning after a `/sign` text change that wax was not reapplied because the player lacks permission to `/sign wax` * `forbidden_waxed_sign_edit` – Error that a `/sign` text change was blocked because the target sign is waxed and the player lacks permission to `/sign unwax` ### Changed * The documentation of `/sign undo` and `/sign redo` has been clarified to indicate that they affect only the sign text, not the dyes or wax applied to the sign. ### Fixed * Failure and error when editing [hanging signs and wall hanging signs](https://web.archive.org/web/20230615204117/https://minecraft.fandom.com/wiki/Sign#Hanging_signs) from Minecraft 1.20 when using `compatibility.edit-validation: Extra` (#34) ![`/se paste` with SignEdit for Bukkit v1.13.9](https://i.imgur.com/1qNBnID.png) * Workaround for a Spigot 1.20 bug where using the stable API to have a player open a sign does not make the sign editable ([SPIGOT-7391](https://hub.spigotmc.org/jira/browse/SPIGOT-7391)) * Error `java.lang.IllegalArgumentException: Invalid page number (1)` when using `compatibility.sign-ui: EditableBook` and saving a blank book ### Under the Hood * Tacked on some adapters to make the plugin compatible with Bukkit 1.20 [`org.bukkit.block.sign.SignSide`](https://web.archive.org/web/20230622054725/https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/sign/SignSide.html) * Increased the right-click event handling priority to the highest level to avoid interfering with other plugins that take over right-click events on signs (#36) * Permission processing moved from `SignCommand.permitted(Player, String)` to `InteractionCommand.isPermitted()` * `SignText.signChanged()` renamed to `SignText.signTextChanged()` as part of clarification that only text changes count in `/sign undo` and `/sign redo` * Started pulling [`org.bukkit.entity.Player`](https://web.archive.org/web/20230622081000/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Player.html) out of constructor injections, as various classes are being used in wider scopes. * Gradle 9.0 compatibility: * Replaced Gradle 8.2 deprecations with recommended replacements * Updated Gradle to version 8.2.1 * Added JDK toolchain resolver plugin to download Java 1.8 * Skip ProGuard for development builds * Eliminated the dependency on `commons-lang:commons-lang`
beta

v1.14.0-beta7 (2023-07-16)

1.14.0-beta7
15 янв. 2026 г.13Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4bukkit
Скачать
Что нового
### Pre-Release Notes #### Since Previous Pre-Release * Added a workaround for a Spigot 1.20 bug where having a player open a sign does not make the sign editable ([SPIGOT-7391](https://hub.spigotmc.org/jira/browse/SPIGOT-7391)) * Preserve the native honeycomb-on-sign action if the `signedit.sign.wax` permission is denied. * Locale changes: * `wax_removed` and `wax_applied` should just be those and not excessively wordy in what their effects are. * Eliminated `bypass_wax_before` and `bypass_wax_after` to prefer only error messages, as users probably don't care if the implicit de/re-waxing is successful. * Reworded `bypass_wax_cannot_rewax` to make it clear that the wax that was previously on the sign was discarded. #### Known Issues * The new locale strings relating to waxed signs have not been proofread for the locales `zh-CN`, `zh-TW`, and `zh-HK`. ### Added * Support for Minecraft 1.20 sign sides (front and back) * Support for Minecraft 1.20 honeycomb wax on signs * On Minecraft 1.20+, opening an editable sign (sign without honeycomb wax) by right-click will open a sign editor handled by this plugin. * (Minecraft 1.20+ only) `/sign wax` and `/sign unwax` commands and permissions to apply and remove honeycomb wax from signs, respectively * New locale strings: * `wax_removed` – Completed `/sign unwax` action * `wax_applied` – Completed `/sign wax` action * `bypass_wax_cannot_rewax` – Warning after a `/sign` text change that wax was not reapplied because the player lacks permission to `/sign wax` * `unwax_sign` – `/sign unwax` pending action description * `wax_sign` – `/sign wax` pending action description * `forbidden_waxed_sign_edit` – Error that a `/sign` text change was blocked because the target sign is waxed and the player lacks permission to `/sign unwax` ### Changed * The documentation of `/sign undo` and `/sign redo` has been clarified to indicate that they affect only the sign text, not the dyes or wax applied to the sign. ### Fixed * Failure and error when editing [hanging signs and wall hanging signs](https://web.archive.org/web/20230615204117/https://minecraft.fandom.com/wiki/Sign#Hanging_signs) from Minecraft 1.20 when using `compatibility.edit-validation: Extra` (#34) ![`/se paste` with SignEdit for Bukkit v1.13.9](https://i.imgur.com/1qNBnID.png) * Workaround for a Spigot 1.20 bug where having a player open a sign does not make the sign editable ([SPIGOT-7391](https://hub.spigotmc.org/jira/browse/SPIGOT-7391)) * `java.lang.IllegalArgumentException: Invalid page number (1)` when using `compatibility.sign-ui: EditableBook` and saving a blank book ### Under the Hood * Tacked on some adapters to make the plugin compatible with Bukkit 1.20 [`org.bukkit.block.sign.SignSide`](https://web.archive.org/web/20230622054725/https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/sign/SignSide.html) * Decreased the right-click event handling priority to the lowest level to avoid interfering with other plugins that handle right-click events on signs * Permission processing moved from `SignCommand.permitted(Player, String)` to `InteractionCommand.isPermitted()` * `SignText.signChanged()` renamed to `SignText.signTextChanged()` as part of clarification that only text changes count in `/sign undo` and `/sign redo` * Started pulling [`org.bukkit.entity.Player`](https://web.archive.org/web/20230622081000/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Player.html) out of constructor injections, as various classes are being used in wider scopes. * Gradle 9.0 compatibility: * Replaced Gradle 8.2 deprecations with recommended replacements * Updated Gradle to version 8.2-rc-2 * Added JDK toolchain resolver plugin to download Java 1.8 * Skip ProGuard for development builds * Eliminated the dependency on `commons-lang:commons-lang`
beta

v1.14.0-beta6 (2023-07-13)

1.14.0-beta6
15 янв. 2026 г.15Minecraft: 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4bukkit
Скачать
Что нового
### Pre-Release Notes #### Since Previous Pre-Release * When using `compatibility.edit-validation: Extra`, SignEdit for Bukkit could have submitted a `null` rather than an air block for the block next to floating wall hanging signs, causing other plugins to fail to handle the `BlockPlaceEvent`. Although not possible in normal Minecraft, SignEdit for Bukkit now simulates hanging wall hanging signs in the air for validation purposes. * Hopefully improved the machine translations of the wax-related locale strings #### Known Issues * When using the Spigot server, `/sign ui` edits are not registered due to a bug ([SPIGOT-7391](https://hub.spigotmc.org/jira/browse/SPIGOT-7391)). Either switch to [PaperMC](https://papermc.io/) or use `/sign set` as a workaround. * The new locale strings relating to waxed signs have not been proofread for the locales `de`, `nl`, `zh-CN`, `zh-TW`, and `zh-HK`. ### Added * Support for Minecraft 1.20 sign sides (front and back) * Support for Minecraft 1.20 honeycomb wax on signs * On Minecraft 1.20+, opening an editable sign (sign without honeycomb wax) by right-click will open a sign editor handled by this plugin. * (Minecraft 1.20+ only) `/sign wax` and `/sign unwax` commands and permissions to apply and remove honeycomb wax from signs, respectively * New locale strings: * `wax_removed` – Completed `/sign unwax` action * `wax_applied` – Completed `/sign wax` action * `bypass_wax_before` – Warning before a `/sign` text change that wax will be removed * `bypass_wax_after` – Warning after a `/sign` text change that wax was reapplied * `bypass_wax_cannot_rewax` – Warning after a `/sign` text change that wax was not reapplied because the player lacks permission to `/sign wax` * `unwax_sign` – `/sign unwax` pending action description * `wax_sign` – `/sign wax` pending action description * `forbidden_waxed_sign_edit` – Error when attempting to edit a waxed sign without permission to run `/sign unwax` ### Changed * The documentation of `/sign undo` and `/sign redo` has been clarified to indicate that they affect only the sign text, not the dyes or wax applied to the sign. ### Fixed * Failure and error when editing [hanging signs and wall hanging signs](https://web.archive.org/web/20230615204117/https://minecraft.fandom.com/wiki/Sign#Hanging_signs) from Minecraft 1.20 when using `compatibility.edit-validation: Extra` (#34) ![`/se paste` with SignEdit for Bukkit v1.13.9](https://i.imgur.com/1qNBnID.png) * `java.lang.IllegalArgumentException: Invalid page number (1)` when using `compatibility.sign-ui: EditableBook` and saving a blank book ### Under the Hood * Tacked on some adapters to make the plugin compatible with Bukkit 1.20 [`org.bukkit.block.sign.SignSide`](https://web.archive.org/web/20230622054725/https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/sign/SignSide.html) * Decreased the right-click event handling priority to the lowest level to avoid interfering with other plugins that handle right-click events on signs * Permission processing moved from `SignCommand.permitted(Player, String)` to `InteractionCommand.isPermitted()` * `SignText.signChanged()` renamed to `SignText.signTextChanged()` as part of clarification that only text changes count in `/sign undo` and `/sign redo` * Started pulling [`org.bukkit.entity.Player`](https://web.archive.org/web/20230622081000/https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Player.html) out of constructor injections, as various classes are being used in wider scopes. * Gradle 9.0 compatibility: * Replaced Gradle 8.2 deprecations with recommended replacements * Updated Gradle to version 8.2-rc-2 * Added JDK toolchain resolver plugin to download Java 1.8 * Skip ProGuard for development builds * Eliminated the dependency on `commons-lang:commons-lang`