From c1f26d544a42c485905dda7af0fa3f161eb1aa22 Mon Sep 17 00:00:00 2001 From: Marc Hermans Date: Thu, 8 Dec 2022 18:11:18 +0100 Subject: [PATCH] Fix searching using the wrong prefix for items or tags. Fixes #9176 Fixes #9179 (#9177) --- .../inventory/CreativeModeInventoryScreen.java.patch | 10 +++++++--- .../client/CreativeModeTabSearchRegistry.java | 5 +++++ .../common/data/DatapackBuiltinEntriesProvider.java | 5 +++++ 3 files changed, 17 insertions(+), 3 deletions(-) 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 cd945de559..ea1d9558b3 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 @@ -18,7 +18,7 @@ this.m_98630_(); } else { (this.f_97732_).f_98639_.addAll(p_261591_); -@@ -273,6 +_,30 @@ +@@ -273,6 +_,34 @@ protected void m_7856_() { if (this.f_96541_.f_91072_.m_105290_()) { super.m_7856_(); @@ -45,6 +45,10 @@ + if (this.pages.size() > 1) { + m_142416_(net.minecraft.client.gui.components.Button.m_253074_(Component.m_237113_("<"), b -> setCurrentPage(this.pages.get(Math.max(this.pages.indexOf(this.currentPage) - 1, 0)))).m_252794_(f_97735_, f_97736_ - 50).m_253046_(20, 20).m_253136_()); + m_142416_(net.minecraft.client.gui.components.Button.m_253074_(Component.m_237113_(">"), b -> setCurrentPage(this.pages.get(Math.min(this.pages.indexOf(this.currentPage) + 1, this.pages.size() - 1)))).m_252794_(f_97735_ + f_97726_ - 20, f_97736_ - 50).m_253046_(20, 20).m_253136_()); ++ } ++ this.currentPage = this.pages.stream().filter(page -> page.getVisibleTabs().contains(f_98507_)).findFirst().orElse(this.currentPage); ++ if (!this.currentPage.getVisibleTabs().contains(f_98507_)) { ++ f_98507_ = this.currentPage.getVisibleTabs().get(0); + } this.f_98510_ = new EditBox(this.f_96547_, this.f_97735_ + 82, this.f_97736_ + 6, 80, 9, Component.m_237115_("itemGroup.search")); this.f_98510_.m_94199_(50); @@ -80,11 +84,11 @@ if (s.startsWith("#")) { s = s.substring(1); - searchtree = this.f_96541_.m_231372_(SearchRegistry.f_119942_); -+ searchtree = this.f_96541_.m_231372_(net.minecraftforge.client.CreativeModeTabSearchRegistry.getNameSearchKey(f_98507_)); ++ searchtree = this.f_96541_.m_231372_(net.minecraftforge.client.CreativeModeTabSearchRegistry.getTagSearchKey(f_98507_)); this.m_98619_(s); } else { - searchtree = this.f_96541_.m_231372_(SearchRegistry.f_119941_); -+ searchtree = this.f_96541_.m_231372_(net.minecraftforge.client.CreativeModeTabSearchRegistry.getTagSearchKey(f_98507_)); ++ searchtree = this.f_96541_.m_231372_(net.minecraftforge.client.CreativeModeTabSearchRegistry.getNameSearchKey(f_98507_)); } (this.f_97732_).f_98639_.addAll(searchtree.m_6293_(s.toLowerCase(Locale.ROOT))); diff --git a/src/main/java/net/minecraftforge/client/CreativeModeTabSearchRegistry.java b/src/main/java/net/minecraftforge/client/CreativeModeTabSearchRegistry.java index 1617e58f54..d64fe7d831 100644 --- a/src/main/java/net/minecraftforge/client/CreativeModeTabSearchRegistry.java +++ b/src/main/java/net/minecraftforge/client/CreativeModeTabSearchRegistry.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) Forge Development LLC and contributors + * SPDX-License-Identifier: LGPL-2.1-only + */ + package net.minecraftforge.client; import java.util.IdentityHashMap; diff --git a/src/main/java/net/minecraftforge/common/data/DatapackBuiltinEntriesProvider.java b/src/main/java/net/minecraftforge/common/data/DatapackBuiltinEntriesProvider.java index 8574440d81..3761775ec0 100644 --- a/src/main/java/net/minecraftforge/common/data/DatapackBuiltinEntriesProvider.java +++ b/src/main/java/net/minecraftforge/common/data/DatapackBuiltinEntriesProvider.java @@ -1,3 +1,8 @@ +/* + * Copyright (c) Forge Development LLC and contributors + * SPDX-License-Identifier: LGPL-2.1-only + */ + package net.minecraftforge.common.data; import net.minecraft.Util;