aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/Renderable.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-05-12 18:10:15 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-05-12 18:10:15 +0800
commita98d9191f1a97925a8a3e2e23c0a07867540a93a (patch)
tree8aac9df58b40052b6b19c0c3ac7da66076dc5b1c /src/main/java/me/shedaniel/rei/api/Renderable.java
parent45ed37cc8d0088b57cd2605482f471e69e5885f4 (diff)
downloadRoughlyEnoughItems-a98d9191f1a97925a8a3e2e23c0a07867540a93a.tar.gz
RoughlyEnoughItems-a98d9191f1a97925a8a3e2e23c0a07867540a93a.tar.bz2
RoughlyEnoughItems-a98d9191f1a97925a8a3e2e23c0a07867540a93a.zip
Out of beta: Build 110
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/Renderable.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/Renderable.java40
1 files changed, 34 insertions, 6 deletions
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<ItemStack> 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<List<List<ItemStack>>> input, Supplier<List<ItemStack>> 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);
}