diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-07-28 01:39:41 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-08-26 10:52:28 +0900 |
| commit | 9954713e457a5a5d80025432961b56ab0003bbb0 (patch) | |
| tree | d26b3a09f824e58edd2ad7df39e6c4f48fcc6bb9 /runtime-engine/favorites/src/main/java | |
| parent | c85b3d49f6d88e7e92b06bacca1ce93db7b75fd0 (diff) | |
| download | RoughlyEnoughItems-9954713e457a5a5d80025432961b56ab0003bbb0.tar.gz RoughlyEnoughItems-9954713e457a5a5d80025432961b56ab0003bbb0.tar.bz2 RoughlyEnoughItems-9954713e457a5a5d80025432961b56ab0003bbb0.zip | |
More work on config module
Diffstat (limited to 'runtime-engine/favorites/src/main/java')
2 files changed, 17 insertions, 16 deletions
diff --git a/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/favorites/FavoriteEntryTypeRegistryImpl.java b/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/favorites/FavoriteEntryTypeRegistryImpl.java index 39de487d9..6cd8ffb24 100644 --- a/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/favorites/FavoriteEntryTypeRegistryImpl.java +++ b/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/favorites/FavoriteEntryTypeRegistryImpl.java @@ -107,8 +107,8 @@ public class FavoriteEntryTypeRegistryImpl implements FavoriteEntryType.Registry @Override public void endReload() { if (ConfigObject.getInstance().isFavoritesEnabled()) { - FavoritesEntriesManager.INSTANCE.getConfigFavoriteEntries().removeIf(FavoriteEntry::isInvalid); - FavoritesEntriesManager.INSTANCE.getConfigHiddenFavoriteEntries().removeIf(FavoriteEntry::isInvalid); + FavoritesEntriesManager.getConfigFavoriteEntries().removeIf(FavoriteEntry::isInvalid); + FavoritesEntriesManager.getConfigHiddenFavoriteEntries().removeIf(FavoriteEntry::isInvalid); ConfigManager.getInstance().saveConfig(); } diff --git a/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/FavoritesEntriesManager.java b/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/FavoritesEntriesManager.java index 2f92bc197..40f1de3a7 100644 --- a/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/FavoritesEntriesManager.java +++ b/runtime-engine/favorites/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/FavoritesEntriesManager.java @@ -30,6 +30,7 @@ import me.shedaniel.rei.api.client.favorites.FavoriteEntryType; import me.shedaniel.rei.api.client.overlay.OverlayListWidget; import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.common.util.CollectionUtils; +import me.shedaniel.rei.impl.ClientInternals; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; import me.shedaniel.rei.impl.client.favorites.MutableFavoritesList; @@ -40,25 +41,24 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.StreamSupport; -public class FavoritesEntriesManager { - public static final FavoritesEntriesManager INSTANCE = new FavoritesEntriesManager(); +public class FavoritesEntriesManager implements ClientInternals.FavoritesEntriesListProvider { - public List<FavoriteEntry> getConfigFavoriteEntries() { + public static List<FavoriteEntry> getConfigFavoriteEntries() { ConfigManagerInternal manager = ConfigManagerInternal.getInstance(); return (List<FavoriteEntry>) manager.get("basics.favorites"); } - public List<FavoriteEntry> getConfigHiddenFavoriteEntries() { + public static List<FavoriteEntry> getConfigHiddenFavoriteEntries() { ConfigManagerInternal manager = ConfigManagerInternal.getInstance(); return (List<FavoriteEntry>) manager.get("basics.hiddenFavorites"); } - private Stream<FavoriteEntry> getDefaultFavorites() { + private static Stream<FavoriteEntry> getDefaultFavorites() { return StreamSupport.stream(FavoriteEntryType.registry().sections().spliterator(), false) .flatMap(section -> section.getDefaultEntries().stream()); } - public List<FavoriteEntry> getFavorites() { + public static List<FavoriteEntry> getFavorites() { List<FavoriteEntry> defaultFavorites = getDefaultFavorites().collect(Collectors.toList()); defaultFavorites.removeAll(getConfigHiddenFavoriteEntries()); @@ -69,7 +69,7 @@ public class FavoritesEntriesManager { return favorites; } - public void remove(FavoriteEntry entry) { + public static void remove(FavoriteEntry entry) { getConfigFavoriteEntries().remove(entry); if (getDefaultFavorites().anyMatch(e -> e.equals(entry)) && !getConfigHiddenFavoriteEntries().contains(entry)) { getConfigHiddenFavoriteEntries().add(entry); @@ -79,7 +79,7 @@ public class FavoritesEntriesManager { REIRuntime.getInstance().getOverlay().flatMap(ScreenOverlay::getFavoritesList).ifPresent(OverlayListWidget::queueReloadSearch); } - public void add(FavoriteEntry entry) { + public static void add(FavoriteEntry entry) { List<FavoriteEntry> defaultFavorites = getDefaultFavorites().toList(); getConfigFavoriteEntries().remove(entry); @@ -103,7 +103,7 @@ public class FavoritesEntriesManager { REIRuntime.getInstance().getOverlay().flatMap(ScreenOverlay::getFavoritesList).ifPresent(OverlayListWidget::queueReloadSearch); } - public void setEntries(List<FavoriteEntry> entries) { + public static void setEntries(List<FavoriteEntry> entries) { List<FavoriteEntry> defaultFavorites = getDefaultFavorites().toList(); List<FavoriteEntry> hiddenDefaultFavorites = new ArrayList<>(defaultFavorites); hiddenDefaultFavorites.removeAll(entries); @@ -116,11 +116,12 @@ public class FavoritesEntriesManager { REIRuntime.getInstance().getOverlay().flatMap(ScreenOverlay::getFavoritesList).ifPresent(OverlayListWidget::queueReloadSearch); } - public List<FavoriteEntry> asListView() { + @Override + public List<FavoriteEntry> get() { return new ListView(); } - private class ListView extends AbstractList<FavoriteEntry> implements MutableFavoritesList { + private static class ListView extends AbstractList<FavoriteEntry> implements MutableFavoritesList { @Override public FavoriteEntry get(int index) { return getFavorites().get(index); @@ -133,13 +134,13 @@ public class FavoritesEntriesManager { @Override public void add(int index, FavoriteEntry entry) { - FavoritesEntriesManager.this.add(entry); + FavoritesEntriesManager.add(entry); } @Override public boolean remove(Object o) { if (o instanceof FavoriteEntry) { - FavoritesEntriesManager.this.remove((FavoriteEntry) o); + FavoritesEntriesManager.remove((FavoriteEntry) o); return true; } else { return false; @@ -148,7 +149,7 @@ public class FavoritesEntriesManager { @Override public void setAll(List<FavoriteEntry> entries) { - FavoritesEntriesManager.this.setEntries(entries); + FavoritesEntriesManager.setEntries(entries); } } } |
