From 03b0adcf960c5e462fddc8e045b146a8c727670c Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 27 Aug 2022 13:23:37 +0900 Subject: Refactors to overlays and reiruntime --- .../java/me/shedaniel/rei/impl/client/gui/hints/HintProvider.java | 3 +++ .../rei/impl/client/gui/screen/ConfigReloadingScreen.java | 4 ++-- .../me/shedaniel/rei/impl/client/search/AsyncSearchManager.java | 7 +++++++ .../java/me/shedaniel/rei/impl/client/search/SearchManager.java | 1 - 4 files changed, 12 insertions(+), 3 deletions(-) (limited to 'shared-internals/src') diff --git a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/hints/HintProvider.java b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/hints/HintProvider.java index c7697c533..66a9f6a20 100644 --- a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/hints/HintProvider.java +++ b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/hints/HintProvider.java @@ -27,6 +27,7 @@ import me.shedaniel.math.Color; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; +import me.shedaniel.rei.impl.common.Internals; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.network.chat.Component; @@ -37,6 +38,8 @@ import java.util.function.Consumer; @Environment(EnvType.CLIENT) public interface HintProvider { + List PROVIDERS = Internals.resolveServices(HintProvider.class); + List provide(); @Nullable diff --git a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/screen/ConfigReloadingScreen.java b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/screen/ConfigReloadingScreen.java index 3d3895880..7d64bc935 100644 --- a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/screen/ConfigReloadingScreen.java +++ b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/gui/screen/ConfigReloadingScreen.java @@ -33,10 +33,10 @@ import org.jetbrains.annotations.ApiStatus; import java.util.function.BooleanSupplier; @ApiStatus.Internal -public class ConfigReloadingScreen extends Screen { +public final class ConfigReloadingScreen extends Screen { private final Component title; private final BooleanSupplier predicate; - private Runnable parent; + private final Runnable parent; public ConfigReloadingScreen(Component title, BooleanSupplier predicate, Runnable parent) { super(NarratorChatListener.NO_TITLE); diff --git a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java index 1d3bfdecb..eab390d90 100644 --- a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java +++ b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/AsyncSearchManager.java @@ -55,14 +55,17 @@ public class AsyncSearchManager implements SearchManager { this.transformer = transformer; } + @Override public void markDirty() { this.dirty = true; } + @Override public void markFilterDirty() { this.filterDirty = true; } + @Override public void updateFilter(String filter) { if (this.filter == null || !this.filter.getFilter().equals(filter)) { this.filter = SearchProvider.getInstance().createFilter(filter); @@ -71,14 +74,17 @@ public class AsyncSearchManager implements SearchManager { } } + @Override public boolean isDirty() { return last == null || dirty; } + @Override public boolean isFilterDirty() { return filterDirty; } + @Override public Future getAsync(Consumer>> consumer) { if (future == null || future.isCancelled() || future.isDone() || future.isCompletedExceptionally()) { if (future != null) future.cancel(true); @@ -142,6 +148,7 @@ public class AsyncSearchManager implements SearchManager { return last; } + @Override public boolean matches(EntryStack stack) { return filter.test(stack); } diff --git a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/SearchManager.java b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/SearchManager.java index 92c44dc02..2b7ba8d0f 100644 --- a/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/SearchManager.java +++ b/shared-internals/src/main/java/me/shedaniel/rei/impl/client/search/SearchManager.java @@ -23,7 +23,6 @@ package me.shedaniel.rei.impl.client.search; -import me.shedaniel.rei.api.client.search.SearchProvider; import me.shedaniel.rei.api.common.entry.EntryStack; import java.util.List; -- cgit