diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-11-07 21:21:49 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-11-07 21:42:03 +0800 |
| commit | 0be6613cad5eb71d4828118329f0d8f462c5a498 (patch) | |
| tree | 053bf10968f2de936a8d89dd362bdf3d13596a50 /runtime-engine | |
| parent | 0ef0f8b21df4b9a603aaa2ab4a35d395ef6437c1 (diff) | |
| parent | 46d2c64c4303bc007055268075ea9be4e9852e5e (diff) | |
| download | RoughlyEnoughItems-0be6613cad5eb71d4828118329f0d8f462c5a498.tar.gz RoughlyEnoughItems-0be6613cad5eb71d4828118329f0d8f462c5a498.tar.bz2 RoughlyEnoughItems-0be6613cad5eb71d4828118329f0d8f462c5a498.zip | |
Merge commit '46d2c64c4303bc007055268075ea9be4e9852e5e' into modularity
Diffstat (limited to 'runtime-engine')
25 files changed, 468 insertions, 500 deletions
diff --git a/runtime-engine/configs/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java b/runtime-engine/configs/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java index 4f8e6bd62..c0d46569b 100644 --- a/runtime-engine/configs/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java +++ b/runtime-engine/configs/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java @@ -50,6 +50,9 @@ import me.shedaniel.rei.api.client.REIRuntime; import me.shedaniel.rei.api.client.config.ConfigManager; import me.shedaniel.rei.api.client.config.addon.ConfigAddonRegistry; import me.shedaniel.rei.api.client.config.entry.EntryStackProvider; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleType; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleTypeRegistry; import me.shedaniel.rei.api.client.favorites.FavoriteEntry; import me.shedaniel.rei.api.client.gui.config.CheatingMode; import me.shedaniel.rei.api.client.gui.config.DisplayScreenType; diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java index 50580d118..e1cbe7da6 100644 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java +++ b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java @@ -25,9 +25,9 @@ package me.shedaniel.rei.impl.client.config.entries; import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleInternal; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleType; -import me.shedaniel.rei.impl.client.entry.filtering.rules.ManualFilteringRuleType; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleType; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleTypeRegistry; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -43,7 +43,7 @@ import net.minecraft.resources.ResourceLocation; import java.util.Collections; import java.util.List; import java.util.Objects; -import java.util.function.BiFunction; +import java.util.function.Function; public class FilteringAddRuleScreen extends Screen { private final FilteringEntry entry; @@ -66,9 +66,9 @@ public class FilteringAddRuleScreen extends Screen { })); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); - for (FilteringRuleType<?> type : FilteringRuleType.REGISTRY.values()) { - if (!(type instanceof ManualFilteringRuleType)) - rulesList.addItem(new DefaultRuleEntry(parent, entry, type.createNew(), null)); + for (FilteringRuleType<?> rule : FilteringRuleTypeRegistry.getInstance()) { + if (!rule.isSingular()) + rulesList.addItem(new DefaultRuleEntry(parent, entry, rule.createNew(), null)); } rulesList.selectItem(rulesList.children().get(0)); } @@ -125,13 +125,13 @@ public class FilteringAddRuleScreen extends Screen { } public static abstract class RuleEntry extends DynamicElementListWidget.ElementEntry<RuleEntry> { - private final FilteringRuleInternal rule; + private final FilteringRule<?> rule; - public RuleEntry(FilteringRuleInternal rule) { + public RuleEntry(FilteringRule<?> rule) { this.rule = rule; } - public FilteringRuleInternal getRule() { + public FilteringRule<?> getRule() { return rule; } @@ -148,14 +148,14 @@ public class FilteringAddRuleScreen extends Screen { public static class DefaultRuleEntry extends RuleEntry { private final Button addButton; - private final BiFunction<FilteringEntry, Screen, Screen> screenFunction; + private final Function<Screen, Screen> screenFunction; - public DefaultRuleEntry(Screen parent, FilteringEntry entry, FilteringRuleInternal rule, BiFunction<FilteringEntry, Screen, Screen> screenFunction) { + public DefaultRuleEntry(Screen parent, FilteringEntry entry, FilteringRule<?> rule, Function<Screen, Screen> screenFunction) { super(rule); - this.screenFunction = (screenFunction == null ? ((FilteringRuleType<FilteringRuleInternal>) rule.getType()).createEntryScreen(rule).orElse(null) : screenFunction); + this.screenFunction = (screenFunction == null ? ((FilteringRuleType<FilteringRule<?>>) rule.getType()).createEntryScreen(rule) : screenFunction); addButton = new Button(0, 0, 20, 20, Component.nullToEmpty(" + "), button -> { entry.edited = true; - Minecraft.getInstance().setScreen(this.screenFunction.apply(entry, parent)); + Minecraft.getInstance().setScreen(this.screenFunction.apply(parent)); entry.rules.add(0, rule); }); addButton.active = this.screenFunction != null; @@ -165,7 +165,7 @@ public class FilteringAddRuleScreen extends Screen { public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { Minecraft client = Minecraft.getInstance(); { - Component title = getRule().getType().getTitle(); + Component title = ((FilteringRuleType<FilteringRule<?>>) getRule().getType()).getTitle(getRule()); int i = client.font.width(title); if (i > entryWidth - 28) { FormattedText titleTrimmed = FormattedText.composite(client.font.substrByWidth(title, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); @@ -175,7 +175,7 @@ public class FilteringAddRuleScreen extends Screen { } } { - Component subtitle = getRule().getType().getSubtitle(); + Component subtitle = ((FilteringRuleType<FilteringRule<?>>) getRule().getType()).getSubtitle(getRule()); int i = client.font.width(subtitle); if (i > entryWidth - 28) { FormattedText subtitleTrimmed = FormattedText.composite(client.font.substrByWidth(subtitle, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringConfigEntries.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringConfigEntries.java index 133cf2fb1..b51d8a5fb 100644 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringConfigEntries.java +++ b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringConfigEntries.java @@ -31,11 +31,10 @@ import me.shedaniel.cloth.clothconfig.shadowed.blue.endless.jankson.JsonNull; import me.shedaniel.rei.api.client.REIRuntime; import me.shedaniel.rei.api.client.config.entry.EntryStackProvider; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleType; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleInternal; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleType; import net.minecraft.client.Minecraft; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -76,7 +75,7 @@ public class FilteringConfigEntries implements ConfigManagerInternal.SystemSetup // FilteringRule builder.registerSerializer(FilteringRule.class, (value, marshaller) -> { try { - return marshaller.serialize(FilteringRuleType.save((FilteringRuleInternal) value, new CompoundTag())); + return marshaller.serialize(FilteringRuleType.save(value, new CompoundTag())); } catch (Exception e) { e.printStackTrace(); return JsonNull.INSTANCE; diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java index 12bc5dc00..c8d75ed77 100644 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java +++ b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java @@ -28,9 +28,9 @@ import com.google.common.collect.Lists; import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryStacks; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleInternal; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.chat.NarratorChatListener; import net.minecraft.client.gui.components.AbstractWidget; @@ -47,10 +47,10 @@ import java.util.function.Consumer; public class FilteringEntry extends AbstractConfigListEntry<List<EntryStack<?>>> { private int width; Consumer<List<EntryStack<?>>> saveConsumer; - Consumer<List<FilteringRuleInternal>> rulesSaveConsumer; + Consumer<List<FilteringRule<?>>> rulesSaveConsumer; List<EntryStack<?>> defaultValue; Set<EntryStack<?>> configFiltered; - List<FilteringRuleInternal> rules; + List<FilteringRule<?>> rules; boolean edited = false; final FilteringScreen filteringScreen = new FilteringScreen(this); final FilteringRulesScreen filteringRulesScreen = new FilteringRulesScreen(this); @@ -60,7 +60,7 @@ public class FilteringEntry extends AbstractConfigListEntry<List<EntryStack<?>>> }); private final List<AbstractWidget> children = ImmutableList.of(buttonWidget); - public FilteringEntry(int width, List<EntryStack<?>> configFiltered, List<FilteringRuleInternal> rules, List<EntryStack<?>> defaultValue, Consumer<List<EntryStack<?>>> saveConsumer, Consumer<List<FilteringRuleInternal>> rulesSaveConsumer) { + public FilteringEntry(int width, List<EntryStack<?>> configFiltered, List<FilteringRule<?>> rules, List<EntryStack<?>> defaultValue, Consumer<List<EntryStack<?>>> saveConsumer, Consumer<List<FilteringRule<?>>> rulesSaveConsumer) { super(NarratorChatListener.NO_TITLE, false); this.width = width; this.configFiltered = new TreeSet<>(Comparator.comparing(EntryStacks::hashExact)); diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java index 8e471556e..608173db8 100644 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java +++ b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java @@ -28,7 +28,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleInternal; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.EditBox; @@ -51,15 +50,13 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; -public abstract class FilteringRuleOptionsScreen<T extends FilteringRuleInternal> extends Screen { - private final FilteringEntry entry; +public abstract class FilteringRuleOptionsScreen<T extends FilteringRule<?>> extends Screen { private RulesList rulesList; Screen parent; public T rule; - public FilteringRuleOptionsScreen(FilteringEntry entry, T rule, Screen screen) { + public FilteringRuleOptionsScreen(T rule, Screen screen) { super(new TranslatableComponent("config.roughlyenoughitems.filteringRulesScreen")); - this.entry = entry; this.rule = rule; this.parent = screen; } @@ -137,7 +134,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRuleInternal public static class TextRuleEntry extends RuleEntry { private final FormattedCharSequence text; - public TextRuleEntry(FilteringRuleInternal rule, FormattedCharSequence text) { + public TextRuleEntry(FilteringRule<?> rule, FormattedCharSequence text) { super(rule); this.text = text; } @@ -166,7 +163,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRuleInternal public static class EmptyRuleEntry extends RuleEntry { private final int height; - public EmptyRuleEntry(FilteringRuleInternal rule, int height) { + public EmptyRuleEntry(FilteringRule<?> rule, int height) { super(rule); this.height = height; } @@ -194,7 +191,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRuleInternal public static class TextFieldRuleEntry extends RuleEntry { private final EditBox widget; - public TextFieldRuleEntry(int width, FilteringRuleInternal rule, Consumer<EditBox> widgetConsumer) { + public TextFieldRuleEntry(int width, FilteringRule<?> rule, Consumer<EditBox> widgetConsumer) { super(rule); this.widget = new EditBox(Minecraft.getInstance().font, 0, 0, width, 18, Component.nullToEmpty("")); widgetConsumer.accept(widget); @@ -231,7 +228,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRuleInternal private boolean b; private final Button widget; - public BooleanRuleEntry(int width, boolean b, FilteringRuleInternal rule, Function<Boolean, Component> textFunction) { + public BooleanRuleEntry(int width, boolean b, FilteringRule<?> rule, Function<Boolean, Component> textFunction) { super(rule); this.b = b; this.widget = new Button(0, 0, 100, 20, textFunction.apply(b), button -> { @@ -275,7 +272,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRuleInternal private boolean expanded; private Supplier<Component> name; - public SubRulesEntry(FilteringRuleInternal rule, Supplier<Component> name, List<RuleEntry> rules) { + public SubRulesEntry(FilteringRule<?> rule, Supplier<Component> name, List<RuleEntry> rules) { super(rule); this.rules = rules; this.widget = new CategoryLabelWidget(); diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java index 32a13038a..2c60930bf 100644 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java +++ b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java @@ -26,9 +26,9 @@ package me.shedaniel.rei.impl.client.config.entries; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleInternal; -import me.shedaniel.rei.impl.client.entry.filtering.FilteringRuleType; -import me.shedaniel.rei.impl.client.entry.filtering.rules.ManualFilteringRuleType; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; +import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleType; +import me.shedaniel.rei.impl.client.entry.filtering.rules.ManualFilteringRule; import me.shedaniel.rei.impl.client.gui.InternalTextures; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; @@ -47,7 +47,7 @@ import net.minecraft.sounds.SoundEvents; import java.util.Arrays; import java.util.List; import java.util.Objects; -import java.util.function.BiFunction; +import java.util.function.Function; public class FilteringRulesScreen extends Screen { private final FilteringEntry entry; @@ -79,9 +79,9 @@ public class FilteringRulesScreen extends Screen { } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (int i = entry.rules.size() - 1; i >= 0; i--) { - FilteringRuleInternal rule = entry.rules.get(i); - if (rule instanceof ManualFilteringRuleType) - rulesList.addItem(new DefaultRuleEntry(rule, entry, (entry, screen) -> { + FilteringRule<?> rule = entry.rules.get(i); + if (rule instanceof ManualFilteringRule) + rulesList.addItem(new DefaultRuleEntry(rule, entry, (screen) -> { entry.filteringScreen.parent = screen; return entry.filteringScreen; })); @@ -157,13 +157,13 @@ public class FilteringRulesScreen extends Screen { } public static abstract class RuleEntry extends DynamicElementListWidget.ElementEntry<RuleEntry> { - private final FilteringRuleInternal rule; + private final FilteringRule<?> rule; - public RuleEntry(FilteringRuleInternal rule) { + public RuleEntry(FilteringRule<?> rule) { this.rule = rule; } - public FilteringRuleInternal getRule() { + public FilteringRule<?> getRule() { return rule; } @@ -181,14 +181,14 @@ public class FilteringRulesScreen extends Screen { public static class DefaultRuleEntry extends RuleEntry { private final Button configureButton; private final Button deleteButton; - private final BiFunction<FilteringEntry, Screen, Screen> screenFunction; + private final Function<Screen, Screen> screenFunction; - public DefaultRuleEntry(FilteringRuleInternal rule, FilteringEntry entry, BiFunction<FilteringEntry, Screen, Screen> screenFunction) { + public DefaultRuleEntry(FilteringRule<?> rule, FilteringEntry entry, Function<Screen, Screen> screenFunction) { super(rule); - this.screenFunction = (screenFunction == null ? ((FilteringRuleType<FilteringRuleInternal>) rule.getType()).createEntryScreen(rule).orElse(null) : screenFunction); + this.screenFunction = (screenFunction == null ? ((FilteringRuleType<FilteringRule<?>>) rule.getType()).createEntryScreen(rule) : screenFunction); configureButton = new Button(0, 0, 20, 20, Component.nullToEmpty(null), button -> { entry.edited = true; - Minecraft.getInstance().setScreen(this.screenFunction.apply(entry, Minecraft.getInstance().screen)); + Minecraft.getInstance().setScreen(this.screenFunction.apply(Minecraft.getInstance().screen)); }) { @Override protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) { @@ -207,14 +207,14 @@ public class FilteringRulesScreen extends Screen { }); } configureButton.active = this.screenFunction != null; - deleteButton.active = !(rule instanceof ManualFilteringRuleType); + deleteButton.active = !rule.getType().isSingular(); } @Override public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { Minecraft client = Minecraft.getInstance(); { - Component title = getRule().getType().getTitle(); + Component title = ((FilteringRuleType<FilteringRule<?>>) getRule().getType()).getTitle(getRule()); int i = client.font.width(title); if (i > entryWidth - 28) { FormattedText titleTrimmed = FormattedText.composite(client.font.substrByWidth(title, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); @@ -224,7 +224,7 @@ public class FilteringRulesScreen extends Screen { } } { - Component subtitle = getRule().getType().getSubtitle(); + Component subtitle = ((FilteringRuleType<FilteringRule<?>>) getRule().getType()).getSubtitle(getRule()); int i = client.font.width(subtitle); if (i > entryWidth - 28) { FormattedText subtitleTrimmed = FormattedText.composite(client.font.substrByWidth(subtitle, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/AbstractFilteringRule.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/AbstractFilteringRule.java deleted file mode 100644 index 0035c4054..000000000 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/AbstractFilteringRule.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly Enough Items. - * Copyright (c) 2018, 2019, 2020, 2021, 2022 shedaniel - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.shedaniel.rei.impl.client.entry.filtering; - -import me.shedaniel.rei.impl.client.entry.filtering.rules.ManualFilteringRule; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Environment(EnvType.CLIENT) -public abstract class AbstractFilteringRule implements FilteringRuleInternal { - @Override - public boolean equals(Object obj) { - return getClass() == obj.getClass(); - } - - @Override - public int hashCode() { - return getClass().hashCode(); - } - - @Override - public boolean isManual() { - return this instanceof ManualFilteringRule; - } -} diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringCache.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringCache.java deleted file mode 100644 index bb80560f6..000000000 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringCache.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly Enough Items. - * Copyright (c) 2018, 2019, 2020, 2021, 2022 shedaniel - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.shedaniel.rei.impl.client.entry.filtering; - -import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Nullable; - -@ApiStatus.Experimental -public interface FilteringCache { - @Nullable - Object getCache(FilteringRule rule); -} diff --git a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringContext.java b/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringContext.java deleted file mode 100644 index aa19e89b1..000000000 --- a/runtime-engine/filtering-entries/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringContext.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly |
