From d1f620a845d3b0bf1cf4f226b2beb723507aafa4 Mon Sep 17 00:00:00 2001 From: Danielshe Date: Thu, 12 Sep 2019 22:55:09 +0800 Subject: 3.1.4 --- src/main/java/me/shedaniel/rei/api/Renderer.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (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 5bd86e058..cb356be5e 100644 --- a/src/main/java/me/shedaniel/rei/api/Renderer.java +++ b/src/main/java/me/shedaniel/rei/api/Renderer.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.List; import java.util.function.Function; import java.util.function.Supplier; +import java.util.stream.Collectors; public abstract class Renderer extends DrawableHelper { /** @@ -114,12 +115,17 @@ public abstract class Renderer extends DrawableHelper { } public static ItemStackRenderer fromItemStacks(Supplier> stacksSupplier, @Nullable Function countsFunction, @Nullable Function> extraTooltipSupplier) { + return fromItemStacks(stacksSupplier, countsFunction, extraTooltipSupplier, true); + } + + public static ItemStackRenderer fromItemStacks(Supplier> stacksSupplier, @Nullable Function countsFunction, @Nullable Function> extraTooltipSupplier, boolean renderOverlay) { + List stacks = stacksSupplier.get().stream().map(ItemStack::copy).collect(Collectors.toList()); return new ItemStackRenderer() { @Override public ItemStack getItemStack() { - if (stacksSupplier.get().isEmpty()) + if (stacks.isEmpty()) return ItemStack.EMPTY; - return stacksSupplier.get().get(MathHelper.floor((System.currentTimeMillis() / 500 % (double) stacksSupplier.get().size()) / 1f)); + return stacks.get(MathHelper.floor((System.currentTimeMillis() / 500 % (double) stacks.size()) / 1f)); } @Override @@ -127,6 +133,11 @@ public abstract class Renderer extends DrawableHelper { return countsFunction == null ? null : countsFunction.apply(getItemStack()); } + @Override + protected boolean renderOverlay() { + return renderOverlay; + } + @Override protected List getExtraToolTips(ItemStack stack) { if (extraTooltipSupplier == null) -- cgit