From 4627064699a0211f23f659ff6a814e717ef6f53c Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Thu, 26 Jun 2025 15:29:07 -0400 Subject: [PATCH] feat: Add screen type matching to Custom Screen Layouts (#177) --- .../features/texturepack/CustomScreenLayouts.kt | 9 +++++++-- web/src/pages/docs/_texture-pack-format.md | 7 +++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomScreenLayouts.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomScreenLayouts.kt index a68fb2a..4785e90 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomScreenLayouts.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomScreenLayouts.kt @@ -8,6 +8,7 @@ import net.minecraft.client.gui.DrawContext import net.minecraft.client.gui.screen.Screen import net.minecraft.client.gui.screen.ingame.HandledScreen import net.minecraft.client.render.RenderLayer +import net.minecraft.registry.Registries import net.minecraft.resource.ResourceManager import net.minecraft.resource.SinglePreparationResourceReloader import net.minecraft.screen.slot.Slot @@ -49,11 +50,16 @@ object CustomScreenLayouts : SinglePreparationResourceReloader? ?: return false - return label.matches(s.title) + val typeMatches = screenType == null || s.screenHandler.type.equals(Registries.SCREEN_HANDLER + .get(screenType)); + + return label.matches(s.title) && typeMatches } } @@ -215,5 +221,4 @@ object CustomScreenLayouts : SinglePreparationResourceReloader