diff --git a/CHANGELOG.md b/CHANGELOG.md index 263c3d5bb..354ae535d 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Fixed Grid crash (raoulvdberge) - Fixed Fluid Grid not formatting large quantities correctly (raoulvdberge) - Small performance improvement: only sort the storages when needed (raoulvdberge) +- Display progress bar on JEI recipes for the Solderer (raoulvdberge) ### 1.4.2 - Updated Forge to 2261 (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/storage/StorageDiskType.java b/src/main/java/com/raoulvdberge/refinedstorage/api/storage/StorageDiskType.java index 672ce096b..45cf1fed8 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/storage/StorageDiskType.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/storage/StorageDiskType.java @@ -1,5 +1,8 @@ package com.raoulvdberge.refinedstorage.api.storage; +/** + * The storage disk type. + */ public enum StorageDiskType { ITEMS, FLUIDS diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RSJEIPlugin.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RSJEIPlugin.java index ca0b1e259..5231316dc 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RSJEIPlugin.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RSJEIPlugin.java @@ -27,7 +27,7 @@ public class RSJEIPlugin extends BlankModPlugin { registry.handleRecipes(RecipeWrapperSolderer.class, recipe -> recipe, RecipeCategorySolderer.ID); - registry.addRecipes(RecipeMakerSolderer.getRecipes(), RecipeCategorySolderer.ID); + registry.addRecipes(RecipeMakerSolderer.getRecipes(registry.getJeiHelpers().getGuiHelper()), RecipeCategorySolderer.ID); registry.addRecipeCategoryCraftingItem(new ItemStack(RSBlocks.SOLDERER), RecipeCategorySolderer.ID); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeCategorySolderer.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeCategorySolderer.java index a0fcee75b..dde33b813 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeCategorySolderer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeCategorySolderer.java @@ -18,7 +18,7 @@ public class RecipeCategorySolderer extends BlankRecipeCategory getRecipes() { + public static List getRecipes(IGuiHelper guiHelper) { List recipes = new ArrayList<>(); for (ISoldererRecipe recipe : API.instance().getSoldererRegistry().getRecipes()) { @@ -20,7 +21,7 @@ public final class RecipeMakerSolderer { ItemStack output = recipe.getResult(); - recipes.add(new RecipeWrapperSolderer(inputs, output)); + recipes.add(new RecipeWrapperSolderer(guiHelper, recipe.getDuration(), inputs, output)); } return recipes; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeWrapperSolderer.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeWrapperSolderer.java index f978b8f57..0b5993403 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeWrapperSolderer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/jei/RecipeWrapperSolderer.java @@ -1,16 +1,35 @@ package com.raoulvdberge.refinedstorage.integration.jei; +import mezz.jei.api.IGuiHelper; +import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.BlankRecipeWrapper; +import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; import java.util.List; public class RecipeWrapperSolderer extends BlankRecipeWrapper { + private IDrawableAnimated progress; + private List inputs; private ItemStack output; - public RecipeWrapperSolderer(List inputs, ItemStack output) { + public RecipeWrapperSolderer(IGuiHelper guiHelper, int duration, List inputs, ItemStack output) { + this.progress = guiHelper.createAnimatedDrawable( + guiHelper.createDrawable( + new ResourceLocation("refinedstorage", "textures/gui/solderer.png"), + 212, + 0, + 22, + 15 + ), + duration, + IDrawableAnimated.StartDirection.LEFT, + false + ); + this.inputs = inputs; this.output = output; } @@ -38,6 +57,13 @@ public class RecipeWrapperSolderer extends BlankRecipeWrapper { return ItemStack.areItemStacksEqual(output, other.output); } + @Override + public void drawInfo(Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY) { + super.drawInfo(minecraft, recipeWidth, recipeHeight, mouseX, mouseY); + + progress.draw(minecraft, 40, 18); + } + @Override public String toString() { return inputs + " = " + output;