From a98d9191f1a97925a8a3e2e23c0a07867540a93a Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 12 May 2019 18:10:15 +0800 Subject: Out of beta: Build 110 --- src/main/java/me/shedaniel/rei/api/Renderable.java | 40 ++++++++++++++++++---- 1 file changed, 34 insertions(+), 6 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 47b8f4beb..75d9161be 100644 --- a/src/main/java/me/shedaniel/rei/api/Renderable.java +++ b/src/main/java/me/shedaniel/rei/api/Renderable.java @@ -19,6 +19,12 @@ import java.util.function.Supplier; */ public interface Renderable { + /** + * Gets an item stack renderer by an item stack supplier + * + * @param supplier the supplier for getting the item stack + * @return the item stack renderer + */ static ItemStackRenderer fromItemStackSupplier(Supplier supplier) { return new ItemStackRenderer() { @Override @@ -28,19 +34,32 @@ public interface Renderable { }; } + /** + * Gets an item stack renderer by an item stack + * + * @param stack the item stack to be displayed + * @return the item stack renderer + */ static ItemStackRenderer fromItemStack(ItemStack stack) { - return new ItemStackRenderer() { - @Override - public ItemStack getItemStack() { - return stack; - } - }; + return fromItemStackSupplier(() -> stack); } + /** + * Gets an empty renderer + * + * @return an empty renderer + */ static EmptyRenderer empty() { return EmptyRenderer.INSTANCE; } + /** + * Gets a simple recipe renderer from inputs and outputs + * + * @param input the list of input items + * @param output the list of output items + * @return the recipe renderer + */ static SimpleRecipeRenderer fromRecipe(Supplier>> input, Supplier> output) { return new SimpleRecipeRenderer(input, output); } @@ -56,5 +75,14 @@ public interface Renderable { }; } + /** + * Renders of the renderable + * + * @param x the x coordinate of the renderable + * @param y the y coordinate of the renderable + * @param mouseX the x coordinate of the mouse + * @param mouseY the y coordinate of the mouse + * @param delta the delta + */ void render(int x, int y, double mouseX, double mouseY, float delta); } -- cgit