From fc7af96bde3e8b5da64232dde68f181980f69962 Mon Sep 17 00:00:00 2001 From: Nathan Date: Fri, 14 Jul 2023 08:23:57 -0500 Subject: [PATCH] Fix creative mode screen not correctly using CreativeModeTab::getTabsImage (#9627) --- .../CreativeModeInventoryScreen.java.patch | 14 +++++++++----- .../debug/CreativeModeTabTest.java | 8 ++++++++ .../creative_mode_tab_test/lang/en_us.json | 3 +++ .../container/creative_inventory/custom_tabs.png | Bin 0 -> 3881 bytes 4 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 src/test/resources/assets/creative_mode_tab_test/lang/en_us.json create mode 100644 src/test/resources/assets/creative_mode_tab_test/textures/gui/container/creative_inventory/custom_tabs.png diff --git a/patches/minecraft/net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen.java.patch index 31b6f345b7..56a4f889ed 100644 --- a/patches/minecraft/net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen.java.patch @@ -187,7 +187,7 @@ list1.add(i++, creativemodetab.m_40786_().m_6881_().m_130940_(ChatFormatting.BLUE)); } } -@@ -639,13 +_,13 @@ +@@ -639,21 +_,22 @@ } protected void m_7286_(GuiGraphics p_282663_, float p_282504_, int p_282089_, int p_282249_) { @@ -203,8 +203,10 @@ this.f_98510_.m_88315_(p_282663_, p_282089_, p_282249_, p_282504_); int j = this.f_97735_ + 175; int k = this.f_97736_ + 18; -@@ -654,6 +_,7 @@ - p_282663_.m_280218_(f_98504_, j, k + (int)((float)(i - k - 17) * this.f_98508_), 232 + (this.m_98631_() ? 0 : 12), 0, 12, 15); + int i = k + 112; + if (f_98507_.m_40791_()) { +- p_282663_.m_280218_(f_98504_, j, k + (int)((float)(i - k - 17) * this.f_98508_), 232 + (this.m_98631_() ? 0 : 12), 0, 12, 15); ++ p_282663_.m_280218_(f_98507_.getTabsImage(), j, k + (int)((float)(i - k - 17) * this.f_98508_), 232 + (this.m_98631_() ? 0 : 12), 0, 12, 15); } + if (currentPage.getVisibleTabs().contains(f_98507_)) //Forge: only display tab selection when the selected tab is on the current page @@ -240,14 +242,16 @@ int j = i * 26; int k = 0; int l = this.f_97735_ + this.m_258094_(p_283489_); -@@ -720,6 +_,7 @@ +@@ -720,7 +_,8 @@ i1 += this.f_97727_ - 4; } +- p_283590_.m_280218_(f_98504_, l, i1, j, k, 26, 32); + com.mojang.blaze3d.systems.RenderSystem.enableBlend(); //Forge: Make sure blend is enabled else tabs show a white border. - p_283590_.m_280218_(f_98504_, l, i1, j, k, 26, 32); ++ p_283590_.m_280218_(p_283489_.getTabsImage(), l, i1, j, k, 26, 32); p_283590_.m_280168_().m_85836_(); p_283590_.m_280168_().m_252880_(0.0F, 0.0F, 100.0F); + l += 5; @@ -763,6 +_,14 @@ } diff --git a/src/test/java/net/minecraftforge/debug/CreativeModeTabTest.java b/src/test/java/net/minecraftforge/debug/CreativeModeTabTest.java index cda5ab6522..642adea4a5 100644 --- a/src/test/java/net/minecraftforge/debug/CreativeModeTabTest.java +++ b/src/test/java/net/minecraftforge/debug/CreativeModeTabTest.java @@ -96,6 +96,14 @@ public class CreativeModeTabTest .build() ); } + + final ResourceLocation custom_tabs_image = new ResourceLocation(MOD_ID, "textures/gui/container/creative_inventory/custom_tabs.png"); + helper.register(new ResourceLocation(MOD_ID, "with_tabs_image"), CreativeModeTab.builder() + .title(Component.translatable("itemGroup.with_tabs_image")) + .icon(() -> new ItemStack(Blocks.BRICKS)) + .displayItems((params, output) -> output.accept(Blocks.BRICKS)) + .withTabsImage(custom_tabs_image) + .build()); }); } diff --git a/src/test/resources/assets/creative_mode_tab_test/lang/en_us.json b/src/test/resources/assets/creative_mode_tab_test/lang/en_us.json new file mode 100644 index 0000000000..5c2c3b61a6 --- /dev/null +++ b/src/test/resources/assets/creative_mode_tab_test/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "itemGroup.with_tabs_image": "WithTabsImage" +} \ No newline at end of file diff --git a/src/test/resources/assets/creative_mode_tab_test/textures/gui/container/creative_inventory/custom_tabs.png b/src/test/resources/assets/creative_mode_tab_test/textures/gui/container/creative_inventory/custom_tabs.png new file mode 100644 index 0000000000000000000000000000000000000000..527d35180929df3b402e4d4c33bb3a04d0ab5478 GIT binary patch literal 3881 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