Skip to content

Release 3.23.4 - #3102

Merged
tastybento merged 6 commits into
masterfrom
develop
Oct 17, 2026
Merged

tastybento merged 6 commits into
masterfrom
develop

Conversation

@tastybento

Copy link
Copy Markdown
Member

Release 3.23.4.

Draft release notes: see the 3.23.4 draft release.

🤖 Generated with Claude Code

tastybento and others added 6 commits October 9, 2026 17:12
#2767 tried this by only cancelling clicks in the panel itself, but that
stopped icon pickers seeing clicks in the player's inventory (#2776) and
let shift-clicks and drags move items into panels, where they were lost.
It was reverted in 3.11.1.

This version keeps routing player-inventory clicks to the panel and only
lets them through when:
- the action cannot move an item into the panel (pickup, place, swap,
  hotbar swap, drop, bundles; not shift-click or double-click), and
- the panel has no listener, or its listener opts in via the new
  PanelListener#allowsPlayerInventoryClicks() (default false, so addon
  icon pickers are unaffected). TabbedPanel and AbstractRefreshingPanel
  opt in.

A held item can never be placed in a panel, even if a click handler
uncancels the click, and drags that touch panel slots are cancelled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…y-clicks

Let players use their own inventory while a panel is open
With create-obsidian-platform: false the portal event was never
cancelled, so the server teleported the player in the same tick to a
spot that could have no floor, and the scheduled safe spot teleport
then found the player already in the End and did nothing. Cancel the
event when the End arrival is unsafe so the safe spot teleport runs,
and cancel repeat portal events while that teleport is pending so the
server cannot send the player to the vanilla End spawn instead.
Applies to players and entities.

Also teleport to the centre of the block when a safe spot pod is
built. The target was the requested location plus 0.5, which lands on
a block edge when the location is already off-centre.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Safe End arrival when the obsidian platform is off
Addon.getConfig() returned null when the addon had no config.yml, so
saveConfig() threw an NPE. Return an empty YamlConfiguration instead,
matching JavaPlugin.getConfig().

MongoDBDatabase passed the lazily initialised connector field to the
handler; hold it in a local so it is provably non-null.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@tastybento
tastybento merged commit d3836af into master Oct 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant