From 9d0b99759e37e9989d712e6f47121299c0c91f57 Mon Sep 17 00:00:00 2001 From: tastybento Date: Sat, 17 Oct 2026 09:38:41 -0700 Subject: [PATCH] docs: document BentoBox 3.23.4 Add the 3.23.4 changelog (safe End arrival without the obsidian platform, own-inventory use while a panel is open, addon saveConfig fix), note the End arrival behaviour in the FAQ, and document PanelListener.allowsPlayerInventoryClicks() in the Templated Panel guide. Co-Authored-By: Claude Opus 5.5 --- data/release-tracker.json | 72 +++++++++++++-------------- docs/BentoBox/About/AdminTools.md | 13 ++++- docs/FAQ.md | 2 + docs/Tutorials/api/Templated-Panel.md | 1 + 4 files changed, 51 insertions(+), 37 deletions(-) diff --git a/data/release-tracker.json b/data/release-tracker.json index 2e285fc7..35879c9c 100644 --- a/data/release-tracker.json +++ b/data/release-tracker.json @@ -1,206 +1,206 @@ { - "last_run": "2026-10-10T14:56:40Z", + "last_run": "2026-10-17T16:38:41Z", "repos": { "BentoBox": { - "last_checked": "2026-10-10T14:56:40Z", - "last_release": "3.23.3", + "last_checked": "2026-10-17T16:38:41Z", + "last_release": "3.23.4", "doc_path": "BentoBox/", "category": "core" }, "AcidIsland": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "2.1.2", "doc_path": "gamemodes/AcidIsland/index.md", "category": "gamemode" }, "AOneBlock": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.28.0", "doc_path": "gamemodes/AOneBlock/index.md", "category": "gamemode" }, "Boxed": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "3.4.1", "doc_path": "gamemodes/Boxed/index.md", "category": "gamemode" }, "BSkyBlock": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.20.0", "doc_path": "gamemodes/BSkyBlock/index.md", "category": "gamemode" }, "CaveBlock": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.23.1", "doc_path": "gamemodes/CaveBlock/index.md", "category": "gamemode" }, "poseidon": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.1.1", "doc_path": "gamemodes/Poseidon/index.md", "category": "gamemode" }, "RaftMode": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "gamemodes/RaftMode/index.md", "category": "gamemode" }, "SkyGrid": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "gamemodes/SkyGrid/index.md", "category": "gamemode" }, "StrangerRealms": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.0.6", "doc_path": "gamemodes/StrangerRealms/index.md", "category": "gamemode" }, "Bank": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.10.1", "doc_path": "addons/Bank/index.md", "category": "addon" }, "Biomes": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "2.3.2", "doc_path": "addons/Biomes/index.md", "category": "addon" }, "Border": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "4.8.5", "doc_path": "addons/Border/index.md", "category": "addon" }, "Challenges": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.8.1", "doc_path": "addons/Challenges/index.md", "category": "addon" }, "Chat": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.4.1", "doc_path": "addons/Chat/index.md", "category": "addon" }, "CheckMeOut": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "addons/CheckMeOut/index.md", "category": "addon" }, "ControlPanel": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.16.1", "doc_path": "addons/ControlPanel/index.md", "category": "addon" }, "DimensionalTrees": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.9.0", "doc_path": "addons/DimensionalTrees/index.md", "category": "addon" }, "ExtraMobs": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.15.0", "doc_path": "addons/ExtraMobs/index.md", "category": "addon" }, "FarmersDance": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "addons/FarmersDance/index.md", "category": "addon" }, "Greenhouses": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.10.2", "doc_path": "addons/Greenhouses/index.md", "category": "addon" }, "InvSwitcher": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.19.3", "doc_path": "addons/InvSwitcher/index.md", "category": "addon" }, "IslandFly": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "addons/IslandFly/index.md", "category": "addon" }, "Level": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "2.29.0", "doc_path": "addons/Level/index.md", "category": "addon" }, "Likes": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "addons/Likes/index.md", "category": "addon" }, "Limits": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.30.2", "doc_path": "addons/Limits/index.md", "category": "addon" }, "MagicCobblestoneGenerator": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "2.10.0", "doc_path": "addons/MagicCobblestoneGenerator/index.md", "category": "addon" }, "TopBlock": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "2.1.2", "doc_path": "addons/TopBlock/index.md", "category": "addon" }, "TwerkingForTrees": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.6.0", "doc_path": "addons/TwerkingForTrees/index.md", "category": "addon" }, "Upgrades": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.0.5", "doc_path": "addons/Upgrades/index.md", "category": "addon" }, "Visit": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "", "doc_path": "addons/Visit/index.md", "category": "addon" }, "Warps": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.19.1", "doc_path": "addons/Warps/index.md", "category": "addon" }, "VoidPortals": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.6.1", "doc_path": "addons/VoidPortals/index.md", "category": "addon" }, "IslandStats": { - "last_checked": "2026-10-10T14:56:40Z", + "last_checked": "2026-10-17T16:38:41Z", "last_release": "1.0.0", "doc_path": "addons/IslandStats/index.md", "category": "addon" diff --git a/docs/BentoBox/About/AdminTools.md b/docs/BentoBox/About/AdminTools.md index ff6540e3..adea9bf5 100644 --- a/docs/BentoBox/About/AdminTools.md +++ b/docs/BentoBox/About/AdminTools.md @@ -107,7 +107,18 @@ This reloads BentoBox and all addons, including locales. Note that some changes ## Changelog -!!! note "What's new in v3.23.3 — obsidian dupe fix & Command Ranks template" +!!! note "What's new in v3.23.4 — safe End arrival & inventory use in panels" + **Released:** 2026-10-17 + + A bug-fix release. No `config.yml`, locale or panel template changes. Compatibility: Paper Minecraft 1.21.5 – 26.3, Java 25+. + + - 🐛 **End portal no longer drops players into the void.** With `create-obsidian-platform: false`, the player was sent straight to the portal destination whether or not there was a floor. Unsafe End arrivals now go to the nearest safe spot, then the highest block, then a pod. Repeat portal events while the player stands in the portal are cancelled, so they are not sent to the vanilla End spawn. Arrivals that are already safe still teleport instantly, and nothing changes when the platform is on. Safe-spot pods now place the player in the centre of the block. + - ✨ **Use your own inventory while a panel is open.** Players can pick up, place, swap and drop items (Q / Ctrl+Q) and use bundles in their own inventory while a BentoBox panel such as `/island settings` is open. Shift-clicks, double-click collecting and drags that touch a panel slot stay blocked, so items cannot end up in the panel. + - 🧩 **Addon API:** `PanelListener` has a new default method, `allowsPlayerInventoryClicks()`, which returns `false`, so panels with a listener (such as icon pickers in Challenges and Biomes) behave as before. Return `true` to opt in. See [Templated Panel](../../Tutorials/api/Templated-Panel.md#listener-method). `Addon.getConfig()` now returns an empty configuration instead of `null` when the addon has no `config.yml`, so `saveConfig()` no longer throws. + + [Release v3.23.4](https://github.com/BentoBoxWorld/BentoBox/releases/tag/3.23.4) + +??? note "What's new in v3.23.3 — obsidian dupe fix & Command Ranks template" **Released:** 2026-10-03 A bug-fix and panels release. No `config.yml` or locale changes. Compatibility: Paper Minecraft 1.21.5 – 26.3, Java 25+. diff --git a/docs/FAQ.md b/docs/FAQ.md index e6583bd7..ed3727dd 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -119,6 +119,8 @@ To enable linking nether portals you need to find option in gamemode config: `cr To enable creating proper end obsidian platform (like in vanilla end) you need to find option `create-obsidian-platform` and set it to `true`. +If `create-obsidian-platform` is `false`, BentoBox (3.23.4 and later) checks where a player arrives in the End. If there is no floor, it sends them to the nearest safe spot, then the highest block, and builds a small pod if there is neither, so players cannot fall into the void. + Be aware, that enabling these options opens the same exploits with unlimitated obsidian generation that original Minecraft has. ### How do I disable structure generation in Boxed? diff --git a/docs/Tutorials/api/Templated-Panel.md b/docs/Tutorials/api/Templated-Panel.md index 104079eb..33660d8e 100644 --- a/docs/Tutorials/api/Templated-Panel.md +++ b/docs/Tutorials/api/Templated-Panel.md @@ -96,6 +96,7 @@ The `TemplatedPanelBuilder` class is part of the BentoBox API, designed to facil - `listener(PanelListener listener)`: Adds a `PanelListener` to the panel for handling user interactions. Returns the `TemplatedPanelBuilder` instance for chaining. - Listeners are not required as functionality for moving to another tab, or reacting to a click is handled within the API. - You may only need a Listener if you need some custom functionality. +- By default, a panel with a listener cancels every click in the player's own inventory and passes it to `onInventoryClick`, which lets a panel react to those clicks, for example to pick an icon. Since BentoBox 3.23.4, override `allowsPlayerInventoryClicks()` to return `true` to let players pick up, place, swap, drop items and use bundles in their own inventory while the panel is open. Those clicks are then left to vanilla and are not passed to `onInventoryClick`. Shift-clicks, double-click collecting and drags onto panel slots are always blocked. Panels without a listener always allow inventory use. ### Type Builder Registration