aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ClientHelper.java1
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeCategory.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeHelper.java10
-rw-r--r--src/main/java/me/shedaniel/rei/api/Renderer.java6
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java15
-rw-r--r--src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java40
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java26
-rw-r--r--src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java (renamed from src/main/java/me/shedaniel/rei/gui/renderables/EmptyRenderer.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java (renamed from src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/RecipeRenderer.java (renamed from src/main/java/me/shedaniel/rei/gui/renderables/RecipeRenderer.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java (renamed from src/main/java/me/shedaniel/rei/gui/renderables/SimpleRecipeRenderer.java)2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java2
18 files changed, 110 insertions, 20 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ClientHelper.java b/src/main/java/me/shedaniel/rei/api/ClientHelper.java
index 3900e24ae..bd377c2ba 100644
--- a/src/main/java/me/shedaniel/rei/api/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/ClientHelper.java
@@ -149,4 +149,5 @@ public interface ClientHelper {
boolean executeViewAllRecipesFromCategory(Identifier category);
+ boolean executeViewAllRecipesFromCategories(List<Identifier> categories);
}
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
index 73d1367c1..5204fcbc8 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
@@ -7,7 +7,7 @@ package me.shedaniel.rei.api;
import me.shedaniel.rei.client.ScreenHelper;
import me.shedaniel.rei.gui.RecipeViewingScreen;
-import me.shedaniel.rei.gui.renderables.RecipeRenderer;
+import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.CategoryBaseWidget;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
import me.shedaniel.rei.gui.widget.Widget;
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
index 70373ca51..d6f2f80fa 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
@@ -6,11 +6,14 @@
package me.shedaniel.rei.api;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
+import me.shedaniel.rei.client.RecipeHelperImpl;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.RecipeManager;
import net.minecraft.util.Identifier;
+import java.awt.*;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -91,6 +94,8 @@ public interface RecipeHelper {
*/
Map<RecipeCategory, List<RecipeDisplay>> getRecipesFor(ItemStack stack);
+ RecipeCategory getCategory(Identifier identifier);
+
/**
* Gets the vanilla recipe manager
*
@@ -204,7 +209,12 @@ public interface RecipeHelper {
*/
void registerLiveRecipeGenerator(LiveRecipeGenerator<?> liveRecipeGenerator);
+ void registerScreenClickArea(Rectangle rectangle, Class<? extends AbstractContainerScreen> screenClass, Identifier... categories);
+
<T extends Recipe<?>> void registerRecipes(Identifier category, Class<T> recipeClass, Function<T, RecipeDisplay> mappingFunction);
<T extends Recipe<?>> void registerRecipes(Identifier category, Function<Recipe, Boolean> recipeFilter, Function<T, RecipeDisplay> mappingFunction);
+
+ List<RecipeHelperImpl.ScreenClickArea> getScreenClickAreas();
+
}
diff --git a/src/main/java/me/shedaniel/rei/api/Renderer.java b/src/main/java/me/shedaniel/rei/api/Renderer.java
index 43d4c55b3..cbedb6ccf 100644
--- a/src/main/java/me/shedaniel/rei/api/Renderer.java
+++ b/src/main/java/me/shedaniel/rei/api/Renderer.java
@@ -5,9 +5,9 @@
package me.shedaniel.rei.api;
-import me.shedaniel.rei.gui.renderables.EmptyRenderer;
-import me.shedaniel.rei.gui.renderables.ItemStackRenderer;
-import me.shedaniel.rei.gui.renderables.SimpleRecipeRenderer;
+import me.shedaniel.rei.gui.renderers.EmptyRenderer;
+import me.shedaniel.rei.gui.renderers.ItemStackRenderer;
+import me.shedaniel.rei.gui.renderers.SimpleRecipeRenderer;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.MathHelper;
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java b/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
index 0b4c4f821..268cbf578 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
@@ -219,6 +219,21 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
}
@Override
+ public boolean executeViewAllRecipesFromCategories(List<Identifier> categories) {
+ Map<RecipeCategory, List<RecipeDisplay>> map = Maps.newLinkedHashMap();
+ for(Identifier category : categories) {
+ Optional<RecipeCategory> any = RecipeHelper.getInstance().getAllCategories().stream().filter(c -> c.getIdentifier().equals(category)).findAny();
+ if (!any.isPresent())
+ continue;
+ RecipeCategory<?> recipeCategory = any.get();
+ map.put(recipeCategory, RecipeHelper.getInstance().getAllRecipesFromCategory(recipeCategory));
+ }
+ if (map.keySet().size() > 0)
+ openRecipeViewingScreen(map);
+ return map.keySet().size() > 0;
+ }
+
+ @Override
public void openRecipeViewingScreen(Map<RecipeCategory, List<RecipeDisplay>> map) {
if (RoughlyEnoughItemsCore.getConfigManager().getConfig().screenType == RecipeScreenType.VILLAGER)
MinecraftClient.getInstance().openScreen(new VillagerRecipeViewingScreen(map));
diff --git a/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java b/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java
index 679d327e8..9a9415d9b 100644
--- a/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java
+++ b/src/main/java/me/shedaniel/rei/client/RecipeHelperImpl.java
@@ -9,6 +9,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.*;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.RecipeManager;
@@ -40,6 +41,7 @@ public class RecipeHelperImpl implements RecipeHelper {
private final List<AutoCraftingHandler> autoCraftingHandlers = Lists.newArrayList();
private final List<RecipeFunction> recipeFunctions = Lists.newArrayList();
+ private final List<ScreenClickArea> screenClickAreas = Lists.newArrayList();
private final AtomicInteger recipeCount = new AtomicInteger();
private final Map<Identifier, List<RecipeDisplay>> recipeCategoryListMap = Maps.newHashMap();
private final List<RecipeCategory> categories = Lists.newArrayList();
@@ -140,7 +142,8 @@ public class RecipeHelperImpl implements RecipeHelper {
return recipeCategoryListMap;
}
- private RecipeCategory getCategory(Identifier identifier) {
+ @Override
+ public RecipeCategory getCategory(Identifier identifier) {
return categories.stream().filter(category -> category.getIdentifier().equals(identifier)).findFirst().orElse(null);
}
@@ -217,6 +220,7 @@ public class RecipeHelperImpl implements RecipeHelper {
this.recipeCategoryListMap.clear();
this.categories.clear();
this.speedCraftAreaSupplierMap.clear();
+ this.screenClickAreas.clear();
this.categoryWorkingStations.clear();
this.recipeFunctions.clear();
this.displayVisibilityHandlers.clear();
@@ -361,6 +365,11 @@ public class RecipeHelperImpl implements RecipeHelper {
}
@Override
+ public void registerScreenClickArea(Rectangle rectangle, Class<? extends AbstractContainerScreen> screenClass, Identifier... categories) {
+ this.screenClickAreas.add(new ScreenClickArea(screenClass, rectangle, categories));
+ }
+
+ @Override
public <T extends Recipe<?>> void registerRecipes(Identifier category, Class<T> recipeClass, Function<T, RecipeDisplay> mappingFunction) {
recipeFunctions.add(new RecipeFunction(category, recipe -> recipeClass.isAssignableFrom(recipe.getClass()), mappingFunction));
}
@@ -380,6 +389,35 @@ public class RecipeHelperImpl implements RecipeHelper {
liveRecipeGenerators.add(liveRecipeGenerator);
}
+ @Override
+ public List<ScreenClickArea> getScreenClickAreas() {
+ return screenClickAreas;
+ }
+
+ public class ScreenClickArea {
+ Class<? extends AbstractContainerScreen> screenClass;
+ Rectangle rectangle;
+ Identifier[] categories;
+
+ private ScreenClickArea(Class<? extends AbstractContainerScreen> screenClass, Rectangle rectangle, Identifier[] categories) {
+ this.screenClass = screenClass;
+ this.rectangle = rectangle;
+ this.categories = categories;
+ }
+
+ public Class<? extends AbstractContainerScreen> getScreenClass() {
+ return screenClass;
+ }
+
+ public Rectangle getRectangle() {
+ return rectangle;
+ }
+
+ public Identifier[] getCategories() {
+ return categories;
+ }
+ }
+
private class RecipeFunction {
Identifier category;
Predicate<Recipe> recipeFilter;
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index e9de741f3..67ef5e30c 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -11,6 +11,8 @@ import me.shedaniel.cloth.api.ClientUtils;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.DisplayHelper;
+import me.shedaniel.rei.api.RecipeHelper;
+import me.shedaniel.rei.client.RecipeHelperImpl;
import me.shedaniel.rei.client.ScreenHelper;
import me.shedaniel.rei.client.Weather;
import me.shedaniel.rei.gui.widget.*;
@@ -351,7 +353,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
init(true);
else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && (!hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks) || (currentStacks.size() != ScreenHelper.inventoryStacks.size()))) {
ScreenHelper.inventoryStacks = ClientHelper.getInstance().getInventoryItemsTypes();
- DisplayHelper.DisplayBoundsHandler boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
+ DisplayHelper.DisplayBoundsHandler<?> boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen && SearchFieldWidget.isSearching) {
@@ -359,7 +361,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
blitOffset = 200;
ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
int left = hooks.rei_getContainerLeft(), top = hooks.rei_getContainerTop();
- for(Slot slot : ((AbstractContainerScreen) MinecraftClient.getInstance().currentScreen).getContainer().slotList)
+ for(Slot slot : ((AbstractContainerScreen<?>) MinecraftClient.getInstance().currentScreen).getContainer().slotList)
if (!slot.hasStack() || !itemListOverlay.filterItem(slot.getStack(), itemListOverlay.getLastSearchArgument()))
fillGradient(left + slot.xPosition, top + slot.yPosition, left + slot.xPosition + 16, top + slot.yPosition + 16, -601874400, -601874400);
blitOffset = 0;
@@ -367,6 +369,16 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
GuiLighting.disable();
this.renderWidgets(mouseX, mouseY, delta);
+ if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen) {
+ ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
+ for(RecipeHelperImpl.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas())
+ if (area.getScreenClass().equals(MinecraftClient.getInstance().currentScreen.getClass()))
+ if (area.getRectangle().contains(mouseX - hooks.rei_getContainerLeft(), mouseY - hooks.rei_getContainerTop())) {
+ String collect = Arrays.asList(area.getCategories()).stream().map(identifier -> RecipeHelper.getInstance().getCategory(identifier).getCategoryName()).collect(Collectors.joining(", "));
+ QUEUED_TOOLTIPS.add(QueuedTooltip.create(I18n.translate("text.rei.view_recipes_for", collect)));
+ break;
+ }
+ }
}
public void lateRender(int mouseX, int mouseY, float delta) {
@@ -510,6 +522,16 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
public boolean mouseClicked(double double_1, double double_2, int int_1) {
if (!ScreenHelper.isOverlayVisible())
return false;
+ if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen) {
+ ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
+ for(RecipeHelperImpl.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas())
+ if (area.getScreenClass().equals(MinecraftClient.getInstance().currentScreen.getClass()))
+ if (area.getRectangle().contains(double_1 - hooks.rei_getContainerLeft(), double_2 - hooks.rei_getContainerTop())) {
+ ClientHelper.getInstance().executeViewAllRecipesFromCategories(Arrays.asList(area.getCategories()));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ return true;
+ }
+ }
for(Element element : widgets)
if (element.mouseClicked(double_1, double_2, int_1)) {
this.setFocused(element);
diff --git a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
index f6958c5be..a657c49b4 100644
--- a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
@@ -13,7 +13,7 @@ import me.shedaniel.cloth.api.ClientUtils;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.*;
import me.shedaniel.rei.client.ScreenHelper;
-import me.shedaniel.rei.gui.renderables.RecipeRenderer;
+import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.*;
import net.minecraft.ChatFormat;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/shedaniel/rei/gui/renderables/EmptyRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java
index 06becf832..cc63910a8 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderables/EmptyRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java
@@ -3,7 +3,7 @@
* Licensed under the MIT License.
*/
-package me.shedaniel.rei.gui.renderables;
+package me.shedaniel.rei.gui.renderers;
import me.shedaniel.rei.api.Renderer;
diff --git a/src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java
index de18479db..8f7fe1a50 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderables/ItemStackRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java
@@ -3,7 +3,7 @@
* Licensed under the MIT License.
*/
-package me.shedaniel.rei.gui.renderables;
+package me.shedaniel.rei.gui.renderers;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.platform.GlStateManager;
diff --git a/src/main/java/me/shedaniel/rei/gui/renderables/RecipeRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/RecipeRenderer.java
index 851db3053..288c4b1de 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderables/RecipeRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/RecipeRenderer.java
@@ -3,7 +3,7 @@
* Licensed under the MIT License.
*/
-package me.shedaniel.rei.gui.renderables;
+package me.shedaniel.rei.gui.renderers;
import me.shedaniel.rei.api.Renderer;
diff --git a/src/main/java/me/shedaniel/rei/gui/renderables/SimpleRecipeRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
index 7d40f4b8f..5b97f68fe 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderables/SimpleRecipeRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/SimpleRecipeRenderer.java
@@ -3,7 +3,7 @@
* Licensed under the MIT License.
*/
-package me.shedaniel.rei.gui.renderables;
+package me.shedaniel.rei.gui.renderers;
import com.google.common.collect.Lists;
import me.shedaniel.rei.api.Renderer;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
index e1708478f..6d83e1e59 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
@@ -12,7 +12,7 @@ import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.Renderer;
import me.shedaniel.rei.client.ClientHelperImpl;
import me.shedaniel.rei.client.ScreenHelper;
-import me.shedaniel.rei.gui.renderables.ItemStackRenderer;
+import me.shedaniel.rei.gui.renderers.ItemStackRenderer;
import net.minecraft.client.gui.Element;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index bf22ed09b..6c8fefca4 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -32,9 +32,7 @@ import me.shedaniel.rei.plugin.stonecutting.DefaultStoneCuttingCategory;
import me.shedaniel.rei.plugin.stonecutting.DefaultStoneCuttingDisplay;
import net.minecraft.block.ComposterBlock;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
-import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
-import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
+import net.minecraft.client.gui.screen.ingame.*;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
@@ -277,6 +275,12 @@ public class DefaultPlugin implements REIPluginEntry {
recipeHelper.registerWorkingStations(COMPOSTING, new ItemStack(Items.COMPOSTER));
recipeHelper.registerSpeedCraftButtonArea(COMPOSTING, bounds -> null);
recipeHelper.registerSpeedCraftButtonArea(DefaultPlugin.CAMPFIRE, bounds -> new Rectangle((int) bounds.getMaxX() - 16, bounds.y + 6, 10, 10));
+ recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingTableScreen.class, CRAFTING);
+ recipeHelper.registerScreenClickArea(new Rectangle(137, 29, 10, 13), InventoryScreen.class, CRAFTING);
+ recipeHelper.registerScreenClickArea(new Rectangle(97, 16, 14, 30), BrewingStandScreen.class, BREWING);
+ recipeHelper.registerScreenClickArea(new Rectangle(78, 32, 28, 23), FurnaceScreen.class, SMELTING);
+ recipeHelper.registerScreenClickArea(new Rectangle(78, 32, 28, 23), SmokerScreen.class, SMOKING);
+ recipeHelper.registerScreenClickArea(new Rectangle(78, 32, 28, 23), BlastFurnaceScreen.class, BLASTING);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java
index 0a975151f..5fb37e6fa 100644
--- a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java
@@ -8,7 +8,7 @@ package me.shedaniel.rei.plugin.blasting;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.Renderer;
-import me.shedaniel.rei.gui.renderables.RecipeRenderer;
+import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
import me.shedaniel.rei.gui.widget.SlotWidget;
import me.shedaniel.rei.gui.widget.Widget;
diff --git a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
index 93ae4bce9..a71ac5063 100644
--- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
@@ -9,7 +9,7 @@ import com.google.common.collect.Lists;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.Renderer;
-import me.shedaniel.rei.gui.renderables.RecipeRenderer;
+import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
import me.shedaniel.rei.gui.widget.SlotWidget;
import me.shedaniel.rei.gui.widget.Widget;
diff --git a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java
index eb4596e68..a5c86ceea 100644
--- a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java
@@ -8,7 +8,7 @@ package me.shedaniel.rei.plugin.smelting;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.Renderer;
-import me.shedaniel.rei.gui.renderables.RecipeRenderer;
+import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
import me.shedaniel.rei.gui.widget.SlotWidget;
import me.shedaniel.rei.gui.widget.Widget;
diff --git a/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java b/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java
index 9edba769d..609af3fda 100644
--- a/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java
@@ -8,7 +8,7 @@ package me.shedaniel.rei.plugin.smoking;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.Renderer;
-import me.shedaniel.rei.gui.renderables.RecipeRenderer;
+import me.shedaniel.rei.gui.renderers.RecipeRenderer;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
import me.shedaniel.rei.gui.widget.SlotWidget;
import me.shedaniel.rei.gui.widget.Widget;