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 --- .../java/me/shedaniel/rei/api/ClientHelper.java | 5 ++++ .../java/me/shedaniel/rei/api/RecipeCategory.java | 4 +++ src/main/java/me/shedaniel/rei/api/Renderable.java | 29 ++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 src/main/java/me/shedaniel/rei/api/Renderable.java (limited to 'src/main/java/me/shedaniel/rei/api') diff --git a/src/main/java/me/shedaniel/rei/api/ClientHelper.java b/src/main/java/me/shedaniel/rei/api/ClientHelper.java index 86c234872..ce96836cd 100644 --- a/src/main/java/me/shedaniel/rei/api/ClientHelper.java +++ b/src/main/java/me/shedaniel/rei/api/ClientHelper.java @@ -5,6 +5,7 @@ import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.Identifier; import java.util.List; @@ -33,6 +34,10 @@ public interface ClientHelper extends ClientModInitializer { String getFormattedModFromItem(Item item); + String getFormattedModFromIdentifier(Identifier identifier); + + String getModFromIdentifier(Identifier identifier); + FabricKeyBinding getRecipeKeyBinding(); FabricKeyBinding getUsageKeyBinding(); diff --git a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java index 80b7aa167..edd215848 100644 --- a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java +++ b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java @@ -20,6 +20,10 @@ public interface RecipeCategory { ItemStack getCategoryIcon(); + default Renderable getIcon() { + return Renderable.fromItemStackSupplier(this::getCategoryIcon); + } + String getCategoryName(); default List setupDisplay(Supplier recipeDisplaySupplier, Rectangle bounds) { 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