Skip to content

Fix territory blacklist empty list rendering and row interaction - #43

Merged
burgerfan41 merged 1 commit into
EdenGuild:masterfrom
Good627:fix/territory-loss-blacklist-rendering
Oct 25, 2026
Merged

burgerfan41 merged 1 commit into
EdenGuild:masterfrom
Good627:fix/territory-loss-blacklist-rendering

Conversation

@Good627

@Good627 Good627 commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes an issue where the Territory Loss Blacklist configuration screen (/eden config\ -> War -> Territory blacklist) rendered an empty list despite containing entries.

Cause

In \TerritoryLossBlacklistScreen, list row rendering was wrapped in \graphics.enableScissor(...)\ / \graphics.disableScissor(). Inside \EdenReferenceScreen, \uiScale\ is applied to \graphics.pose(). In Minecraft 1.21's new \GuiRenderer, \enableScissor\ transforms the rectangle by \pose\ and then scales again by \window.getGuiScale(), creating an invalid scissor region that caused the GPU rasterizer to cull out all row backgrounds, labels, and buttons.

Changes

  • Removed \enableScissor\ / \disableScissor\ calls from \TerritoryLossBlacklistScreen. The screen displays exactly 7 visible rows without fractional scrolling, matching \CommandAliasScreen\ and \PartyListScreen.
  • Replaced dynamic row \Button\ widget creation and \layoutRows()\ with direct button rendering (\drawRemoveButton) and click detection (\isRemoveHovered), matching the pattern used in \PartyListScreen.
  • Updated \onAdd, \onDelete, and \onReset\ to update the list and scroll position in-place without reopening the screen.

Verification

  • Verified with ./gradlew compileJava test spotlessJavaCheck --offline\ (all tests and spotless checks passed).

@burgerfan41
burgerfan41 merged commit e2d3a40 into EdenGuild:master Oct 25, 2026
1 check 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.

2 participants