Skip to content

Commit

Permalink
fix: possible fix for filter display items not always being found
Browse files Browse the repository at this point in the history
  • Loading branch information
desht committed Jul 3, 2024
1 parent c145c7d commit d417a7a
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.RegistryAccess;
import net.minecraft.nbt.StringTag;
import net.minecraft.server.packs.PackType;
import net.minecraft.util.RandomSource;
Expand Down Expand Up @@ -156,8 +155,12 @@ public static void rebuildCreativeTabs() {
}
}

public static Optional<RegistryAccess> registryAccess() {
return Minecraft.getInstance().level == null ? Optional.empty() : Optional.of(Minecraft.getInstance().level.registryAccess());
public static Optional<CreativeModeTab.ItemDisplayParameters> creativeTabDisplayParams() {
LocalPlayer player = Minecraft.getInstance().player;
if (player != null) {
return Optional.of(new CreativeModeTab.ItemDisplayParameters(player.connection.enabledFeatures(), Minecraft.getInstance().options.operatorItemsTab().get(), player.clientLevel.registryAccess()));
}
return Optional.empty();
}

public static void copyToClipboard(QuestObjectBase qo) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import net.minecraft.world.item.ItemStack;

import java.util.Collection;
import java.util.Collections;

public interface RecipeModHelper {
void refreshAll(Components component);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package dev.ftb.mods.ftbquests.integration.item_filtering;

import com.google.common.collect.ImmutableList;
import dev.ftb.mods.ftbquests.FTBQuests;
import dev.ftb.mods.ftbquests.api.ItemFilterAdapter;
import dev.ftb.mods.ftbquests.api.event.CustomFilterDisplayItemsEvent;
import dev.ftb.mods.ftbquests.client.FTBQuestsClient;
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.flag.FeatureFlags;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -36,9 +36,11 @@ public static List<ItemStack> getCachedDisplayStacks(ItemStack filterStack, Item
}

private static List<ItemStack> computeMatchingStacks(ItemFilterAdapter.Matcher matcher) {
if (CreativeModeTabs.searchTab().getSearchTabDisplayItems().isEmpty()) {
FTBQuestsClient.registryAccess().ifPresent(ra -> CreativeModeTabs.tryRebuildTabContents(FeatureFlags.DEFAULT_FLAGS, true, ra));
}
FTBQuestsClient.creativeTabDisplayParams().ifPresent(params -> {
if (CreativeModeTabs.tryRebuildTabContents(params.enabledFeatures(), params.hasPermissions(), params.holders())) {
FTBQuests.LOGGER.debug("creative tabs rebuilt, search tab now has {} items", CreativeModeTabs.searchTab().getSearchTabDisplayItems().size());
}
});

ImmutableList.Builder<ItemStack> builder = ImmutableList.builder();

Expand Down

0 comments on commit d417a7a

Please sign in to comment.