From a5c90bb7d4748ba2da024ce468ffeeda99bf4a0f Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 8 May 2019 00:55:25 +0800 Subject: start of 2.9 update beta --- src/main/java/me/shedaniel/rei/api/Renderable.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/me/shedaniel/rei/api/Renderable.java (limited to 'src/main/java/me/shedaniel/rei/api/Renderable.java') diff --git a/src/main/java/me/shedaniel/rei/api/Renderable.java b/src/main/java/me/shedaniel/rei/api/Renderable.java new file mode 100644 index 000000000..b4781d563 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/api/Renderable.java @@ -0,0 +1,29 @@ +package me.shedaniel.rei.api; + +import me.shedaniel.rei.gui.renderables.ItemStackRenderable; +import net.minecraft.item.ItemStack; + +import java.util.function.Supplier; + +public interface Renderable { + + static ItemStackRenderable fromItemStackSupplier(Supplier supplier) { + return new ItemStackRenderable() { + @Override + protected ItemStack getItemStack() { + return supplier.get(); + } + }; + } + + static ItemStackRenderable fromItemStack(ItemStack stack) { + return new ItemStackRenderable() { + @Override + protected ItemStack getItemStack() { + return stack; + } + }; + } + + void render(int x, int y, double mouseX, double mouseY, float delta); +} -- cgit From 33ed36eff27c1a533dacb2fa73510687f119c12b Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 8 May 2019 01:24:22 +0800 Subject: more internal changes Fix #56 --- src/main/java/me/shedaniel/rei/api/Renderable.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/api/Renderable.java') diff --git a/src/main/java/me/shedaniel/rei/api/Renderable.java b/src/main/java/me/shedaniel/rei/api/Renderable.java index b4781d563..35c9890b8 100644 --- a/src/main/java/me/shedaniel/rei/api/Renderable.java +++ b/src/main/java/me/shedaniel/rei/api/Renderable.java @@ -1,29 +1,34 @@ package me.shedaniel.rei.api; -import me.shedaniel.rei.gui.renderables.ItemStackRenderable; +import me.shedaniel.rei.gui.renderables.EmptyRenderer; +import me.shedaniel.rei.gui.renderables.ItemStackRenderer; import net.minecraft.item.ItemStack; import java.util.function.Supplier; public interface Renderable { - static ItemStackRenderable fromItemStackSupplier(Supplier supplier) { - return new ItemStackRenderable() { + static ItemStackRenderer fromItemStackSupplier(Supplier supplier) { + return new ItemStackRenderer() { @Override - protected ItemStack getItemStack() { + public ItemStack getItemStack() { return supplier.get(); } }; } - static ItemStackRenderable fromItemStack(ItemStack stack) { - return new ItemStackRenderable() { + static ItemStackRenderer fromItemStack(ItemStack stack) { + return new ItemStackRenderer() { @Override - protected ItemStack getItemStack() { + public ItemStack getItemStack() { return stack; } }; } + static EmptyRenderer empty() { + return EmptyRenderer.INSTANCE; + } + void render(int x, int y, double mouseX, double mouseY, float delta); } -- cgit From c1b0219e8d5458ddf1eccc194d34893f698b7d88 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 9 May 2019 22:38:34 +0800 Subject: VillagerRecipeViewingScreen done --- src/main/java/me/shedaniel/rei/api/Renderable.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/me/shedaniel/rei/api/Renderable.java') 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>> input, Supplier> output) { + return new SimpleRecipeRenderer(input, output); + } + + static ItemStackRenderer fromItemStacks(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)); + } + }; + } + void render(int x, int y, double mouseX, double mouseY, float delta); } -- cgit