From ebf2bb9dfa1f0e1abca845d7283e6e74ad8b00cd Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 28 Mar 2021 20:35:46 +0800 Subject: Optimise > 1 million entries & Improve Favorites Dragging Signed-off-by: shedaniel --- .../shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java | 5 +++-- api/src/main/java/me/shedaniel/rei/api/client/view/Views.java | 2 +- api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java | 2 -- api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) (limited to 'api') diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java index 89f1d0034..ba7e5d150 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java @@ -44,7 +44,7 @@ public interface BatchEntryRenderer extends EntryRenderer { void renderBase(EntryStack entry, PoseStack matrices, MultiBufferSource.BufferSource immediate, Rectangle bounds, int mouseX, int mouseY, float delta); - void renderOverlay(EntryStack entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta); + void renderOverlay(EntryStack entry, PoseStack matrices, MultiBufferSource.BufferSource immediate, Rectangle bounds, int mouseX, int mouseY, float delta); void endBatch(EntryStack entry, PoseStack matrices, float delta); @@ -55,7 +55,8 @@ public interface BatchEntryRenderer extends EntryRenderer { MultiBufferSource.BufferSource immediate = Minecraft.getInstance().renderBuffers().bufferSource(); renderBase(entry, matrices, immediate, bounds, mouseX, mouseY, delta); immediate.endBatch(); - renderOverlay(entry, matrices, bounds, mouseX, mouseY, delta); + renderOverlay(entry, matrices, immediate, bounds, mouseX, mouseY, delta); + immediate.endBatch(); endBatch(entry, matrices, delta); } } \ No newline at end of file diff --git a/api/src/main/java/me/shedaniel/rei/api/client/view/Views.java b/api/src/main/java/me/shedaniel/rei/api/client/view/Views.java index 7a74f3d8b..86c47e3fc 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/view/Views.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/view/Views.java @@ -47,7 +47,7 @@ public interface Views extends Reloadable { * @param inventoryItems the materials * @return the list of craftable entries */ - Collection> findCraftableEntriesByItems(Iterable> inventoryItems); + Collection> findCraftableEntriesByMaterials(Iterable> inventoryItems); /** * Returns a map of recipes for an entry 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 cd3defe83..b75624da0 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 @@ -126,8 +126,6 @@ public interface EntryStack extends TextRepresentable, Renderer { @Deprecated int hashCode(); - int hash(ComparisonContext context); - @Deprecated boolean equals(Object o); 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 b7882298b..58cf1ada5 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 @@ -158,7 +158,7 @@ public final class EntryStacks { * @return the hash code of the {@link ComparisonContext#EXACT} context */ public static int hashExact(EntryStack stack) { - return stack.hash(ComparisonContext.EXACT); + return stack.getDefinition().hash(stack, stack.getValue(), ComparisonContext.EXACT); } /** @@ -172,7 +172,7 @@ public final class EntryStacks { * @return the hash code of the {@link ComparisonContext#FUZZY} context */ public static int hashFuzzy(EntryStack stack) { - return stack.hash(ComparisonContext.FUZZY); + return stack.getDefinition().hash(stack, stack.getValue(), ComparisonContext.FUZZY); } public static EntryStack simplifyAmount(EntryStack stack) { -- cgit