Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 26d813419eb1a72b141bf7ec88242bb67c82d6ec Mon Sep 17 00:00:00 2001
From ae86da7da7391a427c99bddc0d41034e66bc4ce3 Mon Sep 17 00:00:00 2001
From: AlexProgrammerDE <40795980+AlexProgrammerDE@users.noreply.github.com>
Date: Sun, 18 Oct 2026 16:55:36 +0200
Subject: [PATCH] feat(inventory): present authored native containers
Expand Down Expand Up @@ -738,6 +738,12 @@ a controller regression preserves its token and checks for one request.
Check the current player menu before accepting readiness. Replacement
player menus retire the pending token instead of displaying a screen
captured from the old player. A controller regression covers that boundary.

Route authored container clips through the shared physical-pixel scissor
path. Preserve fractional layout bounds and native parent intersections
instead of rounding them to Java GUI units before extraction. Container
items, labels, portraits and nested inputs retain their existing ownership
and share the same bounded render-state clipping lifecycle.
---
.../bedrock/ViaFabricPlusBedrock.java | 4 +
.../access/IBedrockGuiItemStyle.java | 14 +
Expand Down Expand Up @@ -1372,7 +1378,7 @@ index 0000000..1583ce0
+}
diff --git a/src/main/java/com/viaversion/viafabricplus/bedrock/screen/container/BedrockNativeContainerScreen.java b/src/main/java/com/viaversion/viafabricplus/bedrock/screen/container/BedrockNativeContainerScreen.java
new file mode 100644
index 0000000..7f60cd2
index 0000000..21b1379
--- /dev/null
+++ b/src/main/java/com/viaversion/viafabricplus/bedrock/screen/container/BedrockNativeContainerScreen.java
@@ -0,0 +1,1331 @@
Expand All @@ -1395,6 +1401,7 @@ index 0000000..7f60cd2
+import com.viaversion.viafabricplus.bedrock.screen.ui.NativeUiPresentation;
+import com.viaversion.viafabricplus.bedrock.screen.ui.NativeUiRenderer;
+import com.viaversion.viafabricplus.bedrock.screen.ui.NativeUiScene;
+import com.viaversion.viafabricplus.bedrock.screen.ui.NativeUiScissor;
+import com.viaversion.viafabricplus.bedrock.screen.ui.NativeUiScreen;
+import com.viaversion.viafabricplus.injection.access.core.IConnection;
+import java.util.ArrayList;
Expand Down Expand Up @@ -2075,8 +2082,7 @@ index 0000000..7f60cd2
+ }
+ final var clip =
+ box.node().type().equals("label") ? box.visibleBounds() : box.clip();
+ graphics.enableScissor(Math.round(clip.x()), Math.round(clip.y()),
+ Math.round(clip.x() + clip.width()), Math.round(clip.y() + clip.height()));
+ NativeUiScissor.enable(graphics, clip);
+ try {
+ final String custom = box.node().string("renderer", "");
+ if (box.node().string("inventory_count", "").equals("slot"))
Expand Down Expand Up @@ -6725,7 +6731,7 @@ index d0fac3c..da0aa13 100644
"bedrock_settings.viafabricplus.allow_camera_shake": "Allow camera shake",
"bedrock_settings.viafabricplus.particle_view_distance": "Particle render distance",
diff --git a/src/main/resources/viafabricplus-bedrock.mixins.json b/src/main/resources/viafabricplus-bedrock.mixins.json
index fef5b3f..241b180 100644
index b4c2ad2..b436365 100644
--- a/src/main/resources/viafabricplus-bedrock.mixins.json
+++ b/src/main/resources/viafabricplus-bedrock.mixins.json
@@ -14,6 +14,12 @@
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,7 @@ Complete screen pixels remain unverified.
Broader modpack timing, the reported menu overlap, and shield presentation still need verification.

The [owning patch](0029-present-authored-native-containers.patch) retains implementation rationale and versioned evidence.

Authored container draws use the [shared physical-pixel scissor path](0029-share-native-ui-scene-rendering.pr.md).
This preserves fractional layout bounds for labels, items, portraits, and nested inputs.
The selected native glyph comparisons cover static form controls. Complete container GPU parity remains open.
Loading
Loading