diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-04-12 21:30:18 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-04-12 21:30:18 +0800 |
| commit | 5467c2f08da6f3c6dae7ae603e3708d4f6eb1638 (patch) | |
| tree | cd923542890f062bf270b51e586270795ca9c260 /api/src | |
| parent | 513347f841a401391f59b4c9fe3cbcb4f554f86d (diff) | |
| download | RoughlyEnoughItems-5467c2f08da6f3c6dae7ae603e3708d4f6eb1638.tar.gz RoughlyEnoughItems-5467c2f08da6f3c6dae7ae603e3708d4f6eb1638.tar.bz2 RoughlyEnoughItems-5467c2f08da6f3c6dae7ae603e3708d4f6eb1638.zip | |
Fix #502 and Fix #499
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'api/src')
4 files changed, 30 insertions, 18 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/category/CategoryRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/category/CategoryRegistry.java index 90abba478..254d0b5fd 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/category/CategoryRegistry.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/category/CategoryRegistry.java @@ -58,8 +58,8 @@ public interface CategoryRegistry extends Reloadable<REIClientPlugin>, Iterable< * * @param category the category to register */ - default <T extends Display> void register(DisplayCategory<T> category) { - register(category, config -> {}); + default <T extends Display> void add(DisplayCategory<T> category) { + add(category, config -> {}); } /** @@ -68,16 +68,16 @@ public interface CategoryRegistry extends Reloadable<REIClientPlugin>, Iterable< * @param category the category to register * @param configurator the consumer for configuring the attributes of the category */ - <T extends Display> void register(DisplayCategory<T> category, Consumer<CategoryConfiguration<T>> configurator); + <T extends Display> void add(DisplayCategory<T> category, Consumer<CategoryConfiguration<T>> configurator); /** * Registers the categories supplied. * * @param categories the categories to register */ - default <T extends Display> void register(Iterable<DisplayCategory<? extends T>> categories) { + default <T extends Display> void add(Iterable<DisplayCategory<? extends T>> categories) { for (DisplayCategory<?> category : categories) { - register(category); + add(category); } } @@ -86,9 +86,9 @@ public interface CategoryRegistry extends Reloadable<REIClientPlugin>, Iterable< * * @param categories the categories to register */ - default <T extends Display> void register(DisplayCategory<? extends T>... categories) { + default <T extends Display> void add(DisplayCategory<? extends T>... categories) { for (DisplayCategory<?> category : categories) { - register(category); + add(category); } } diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java index 65bdb9460..7535645a5 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java @@ -62,22 +62,22 @@ public interface DisplayRegistry extends RecipeManagerContext<REIClientPlugin> { * * @param display the recipe display */ - void registerDisplay(Display display); + void add(Display display); /** * Returns an unmodifiable map of displays visible to the player * * @return an unmodifiable map of displays */ - Map<CategoryIdentifier<?>, List<Display>> getAllDisplays(); + Map<CategoryIdentifier<?>, List<Display>> getAll(); /** * Returns the list of displays visible to the player for a category * * @return the list of displays */ - default <D extends Display> List<D> getDisplays(CategoryIdentifier<D> categoryId) { - return (List<D>) getAllDisplays().getOrDefault(categoryId, Collections.emptyList()); + default <D extends Display> List<D> get(CategoryIdentifier<D> categoryId) { + return (List<D>) getAll().getOrDefault(categoryId, Collections.emptyList()); } /** diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java index 99dbf1014..7288ca97a 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java @@ -49,6 +49,9 @@ import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Supplier; +/** + * @see me.shedaniel.rei.api.common.util.EntryStacks + */ public interface EntryStack<T> extends TextRepresentable, Renderer { static EntryStack<Unit> empty() { return Internals.getEntryStackProvider().empty(); diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java index c8b1b86e9..46e601f37 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java @@ -148,6 +148,18 @@ public final class EntryStacks { } /** + * Hash Code of the {@code context} context. + * + * @param stack the stack to hash code + * @param context the context to use + * @param <T> the type of the stack + * @return the hash code of the {@code context} context + */ + public static <T> long hash(EntryStack<T> stack, ComparisonContext context) { + return stack.getDefinition().hash(stack, stack.getValue(), context); + } + + /** * Hash Code of the {@link ComparisonContext#EXACT} context, stacks with the same hash code should share the same normalized stack. * <p> * For example, enchantment books of different enchantments will not receive the same hash code under this context. @@ -156,9 +168,10 @@ public final class EntryStacks { * @param stack the stack to hash code * @param <T> the type of the stack * @return the hash code of the {@link ComparisonContext#EXACT} context + * @see #hash(EntryStack, ComparisonContext) */ public static <T> long hashExact(EntryStack<T> stack) { - return stack.getDefinition().hash(stack, stack.getValue(), ComparisonContext.EXACT); + return hash(stack, ComparisonContext.EXACT); } /** @@ -170,13 +183,9 @@ public final class EntryStacks { * @param stack the stack to hash code * @param <T> the type of the stack * @return the hash code of the {@link ComparisonContext#FUZZY} context + * @see #hash(EntryStack, ComparisonContext) */ public static <T> long hashFuzzy(EntryStack<T> stack) { - return stack.getDefinition().hash(stack, stack.getValue(), ComparisonContext.FUZZY); - } - - public static EntryStack<FluidStack> simplifyAmount(EntryStack<FluidStack> stack) { - stack.getValue().setAmount(stack.getValue().getAmount().simplify()); - return stack; + return hash(stack, ComparisonContext.FUZZY); } } |
