aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/Renderable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/Renderable.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/Renderable.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/Renderable.java b/src/main/java/me/shedaniel/rei/api/Renderable.java
index 35c9890b8..9059af798 100644
--- a/src/main/java/me/shedaniel/rei/api/Renderable.java
+++ b/src/main/java/me/shedaniel/rei/api/Renderable.java
@@ -2,8 +2,11 @@ package me.shedaniel.rei.api;
import me.shedaniel.rei.gui.renderables.EmptyRenderer;
import me.shedaniel.rei.gui.renderables.ItemStackRenderer;
+import me.shedaniel.rei.gui.renderables.SimpleRecipeRenderer;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.math.MathHelper;
+import java.util.List;
import java.util.function.Supplier;
public interface Renderable {
@@ -30,5 +33,20 @@ public interface Renderable {
return EmptyRenderer.INSTANCE;
}
+ static SimpleRecipeRenderer fromRecipe(Supplier<List<List<ItemStack>>> input, Supplier<List<ItemStack>> output) {
+ return new SimpleRecipeRenderer(input, output);
+ }
+
+ static ItemStackRenderer fromItemStacks(List<ItemStack> 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));
+ }
+ };
+ }
+
void render(int x, int y, double mouseX, double mouseY, float delta);
}