diff options
Diffstat (limited to 'src/main/java')
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; |
