aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/Renderable.java
diff options
context:
space:
mode:
authorDaniel She <shekwancheung0528@gmail.com>2019-05-12 18:10:21 +0800
committerDaniel She <shekwancheung0528@gmail.com>2019-05-12 18:10:21 +0800
commitd979cb8b465c73eabca4e32be2ffa26648471fee (patch)
tree8aac9df58b40052b6b19c0c3ac7da66076dc5b1c /src/main/java/me/shedaniel/rei/api/Renderable.java
parent54f120195a63dbc145b74485e410abcd4c5acdf4 (diff)
parenta98d9191f1a97925a8a3e2e23c0a07867540a93a (diff)
downloadRoughlyEnoughItems-d979cb8b465c73eabca4e32be2ffa26648471fee.tar.gz
RoughlyEnoughItems-d979cb8b465c73eabca4e32be2ffa26648471fee.tar.bz2
RoughlyEnoughItems-d979cb8b465c73eabca4e32be2ffa26648471fee.zip
Merge branch '1.14-dev' into 1.14
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);
}