From a29d1ad0cae8f8ccb375b5b8af7d4b86e6d8eb39 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 6 Aug 2019 18:46:44 +0800 Subject: 6x faster craftable combinding filter --- src/main/java/me/shedaniel/rei/api/Renderer.java | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'src/main/java/me/shedaniel/rei/api/Renderer.java') diff --git a/src/main/java/me/shedaniel/rei/api/Renderer.java b/src/main/java/me/shedaniel/rei/api/Renderer.java index cbedb6ccf..87c3ef174 100644 --- a/src/main/java/me/shedaniel/rei/api/Renderer.java +++ b/src/main/java/me/shedaniel/rei/api/Renderer.java @@ -31,6 +31,26 @@ public abstract class Renderer extends DrawableHelper { }; } + /** + * Gets an item stack renderer by an item stack supplier + * + * @param supplier the supplier for getting the item stack + * @return the item stack renderer + */ + public static ItemStackRenderer fromItemStackSupplierNoCounts(Supplier supplier) { + return new ItemStackRenderer() { + @Override + public ItemStack getItemStack() { + return supplier.get(); + } + + @Override + protected boolean renderCounts() { + return false; + } + }; + } + /** * Gets an item stack renderer by an item stack * @@ -41,6 +61,16 @@ public abstract class Renderer extends DrawableHelper { return fromItemStackSupplier(() -> stack); } + /** + * Gets an item stack renderer by an item stack + * + * @param stack the item stack to be displayed + * @return the item stack renderer + */ + public static ItemStackRenderer fromItemStackNoCounts(ItemStack stack) { + return fromItemStackSupplierNoCounts(() -> stack); + } + /** * Gets an empty renderer * @@ -72,6 +102,22 @@ public abstract class Renderer extends DrawableHelper { }; } + public static ItemStackRenderer fromItemStacksNoCounts(List stacks) { + return new ItemStackRenderer() { + @Override + public ItemStack getItemStack() { + if (stacks.isEmpty()) + return ItemStack.EMPTY; + return stacks.get(MathHelper.floor((System.currentTimeMillis() / 500 % (double) stacks.size()) / 1f)); + } + + @Override + protected boolean renderCounts() { + return false; + } + }; + } + /** * Gets the current blit offset * -- cgit