Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for BentoboxWorld

SkyBlock, OneBlock, AcidIsland, and more - all in one plugin!

Report bentobox?

R

3.22.3

Thhis is mostly a bug fix and API related update.

Release Highlights

  • πŸ”² Dialog grid layout β€” DialogBuilder can now lay buttons out in a configurable number of columns with per-button widths, enabling grids, maps, and pickers without leaving the API. Used in the latest ChunkBlock.
  • βš™οΈ bStats metrics opt-out β€” new general.metrics toggle lets server owners disable BentoBox's anonymous usage statistics independently of the global bStats switch.
  • πŸ›‘οΈ Paper 26.2 & Adventure 5 β€” BentoBox now compiles and runs against Paper 26.2, bringing Adventure 5 API changes that addon authors should be aware of.
  • πŸ› Player head 429 spam fixed β€” heads with missing textures no longer trigger repeated Mojang session-server lookups that flood the console with rate-limit errors.
  • πŸ› YAML numeric type widening β€” config values like 20 written without a decimal point now correctly load into double, float, and long fields instead of throwing ClassCastException.

Compatibility

βœ”οΈ Paper Minecraft 1.21.x – 1.21.11 (26.2) βœ”οΈ Java 21+

Upgrading

  1. As always, take backups just in case. (Make a copy of everything!)
  2. Stop the server.
  3. Replace the BentoBox jar with this one.
  4. Restart the server.
  5. You should be good to go!

βš™οΈ New config option: general.metrics has been added to config.yml (default true). Set it to false and restart to disable BentoBox's bStats telemetry. The global switch in plugins/bStats/config.yml still works as before.

πŸ”Ί Addon authors β€” Adventure 5 changes: Paper 26.2 ships Adventure 5, which seals Component (Mockito can no longer mock it) and replaces ClickEvent.value() with payload(). See PR #3067 for the full removal list and migration notes. Addons already deployed against a 26.2 server may already be affected at runtime; recompiling against BentoBox 3.22.3 will surface any issues at compile time.

Legend

  • βš™οΈ config options have been removed, renamed, or added.
  • πŸ”Ί special attention needed.

New Features

πŸ”² Dialog Grid Layout

[PR #3066]

DialogBuilder#columns(int) lays a multi-action dialog's buttons out in a grid instead of the default two-wide list. DialogButton gains a width parameter (1–1024) matching Paper's ActionButton sizing, plus withWidth(int) for resizing existing buttons. Existing callers are unaffected β€” omitting columns and width preserves the client's default behaviour.

βš™οΈ bStats Metrics Opt-Out

[PR #3065]

A new general.metrics setting (default true) in config.yml lets server owners disable BentoBox's bStats telemetry without touching the global bStats config. When set to false, no metrics collector is registered and no data is submitted. Changing this setting requires a server restart.


Bug Fixes

Player Head Texture-Less Profile Spam

[PR #3063]

Opening a panel with player heads (e.g. a top-ten list) could flood the console with HTTP 429 errors from sessionserver.mojang.com. This happened because HeadGetter delivered profiles without texture data, causing the server to re-resolve them on every panel open. Now, heads without a usable texture degrade to a plain head instead of triggering repeated lookups, and a failed fetch no longer evicts a cached head that already has a working texture.

YAML Numeric Type Widening

[PR #3068]

YAML types a number by how it is written: 20 loads as Integer regardless of the declared field type. A double config field written without a decimal point reached the setter as an Integer, and inside collections, generic erasure hid the mismatch until the first read threw ClassCastException. A new widen() helper now correctly promotes Integer to Double, Float, or Long as needed, while deliberately refusing to silently narrow Double to Integer or Long.

Literal Color Names in Panels

A previous refactor replaced deprecated ChatColor constants with NamedTextColor in string concatenations, but NamedTextColor.WHITE.toString() returns the word "white", not a color code β€” so the Management panel showed addon names like "whiteChallenges". Fixed by using MiniMessage tags instead.


Other Improvements

  • πŸ”Ί Paper 26.2 & Adventure 5 β€” Compiled against Paper 26.2 (build.111-stable) with MockBukkit 4.116.1. See the addon author note above for API removals. [PR #3067]
  • Removed workarounds for 26.2 symbols that were missing at compile time β€” SULFUR_CUBE is now static final again, and tests use the real entity type directly (βˆ’87 lines). [PR #2994]
  • Published JSON Schemas (draft 2020-12) for the .blueprint and blueprint-bundle file formats, covering blocks, spawners, entities, display entities, and item frames.
  • Referenced the new org-wide privacy policy, AI policy, and contributing guidelines from the README.

What's Changed

Full Changelog: https://github.com/BentoBoxWorld/BentoBox/compare/3.22.2...3.22.3

Information

Published
August 22, 2026
14Downloads

Platforms

Paper
Paper
1.21.5–26.2