diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
11 files changed, 49 insertions, 19 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java index 34c088c52..ff1711832 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java @@ -5,6 +5,7 @@ import me.shedaniel.rei.api.PluginDisabler; import me.shedaniel.rei.api.PluginFunction; import me.shedaniel.rei.api.REIPluginEntry; import me.shedaniel.rei.api.RecipeHelper; +import me.shedaniel.rei.plugin.autocrafting.AutoCraftingTableHandler; import net.minecraft.util.Identifier; public class DefaultAutoCraftingPlugin implements REIPluginEntry { @@ -28,7 +29,7 @@ public class DefaultAutoCraftingPlugin implements REIPluginEntry { @Override public void registerOthers(RecipeHelper recipeHelper) { - + recipeHelper.registerAutoCraftingHandler(new AutoCraftingTableHandler()); } } diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index 8b095e88d..3d8d3e64f 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -12,6 +12,7 @@ import me.shedaniel.rei.api.*; import me.shedaniel.rei.client.ScreenHelper; import me.shedaniel.rei.gui.RecipeViewingScreen; import me.shedaniel.rei.gui.VillagerRecipeViewingScreen; +import me.shedaniel.rei.gui.config.DisplayVisibility; import me.shedaniel.rei.plugin.blasting.DefaultBlastingCategory; import me.shedaniel.rei.plugin.blasting.DefaultBlastingDisplay; import me.shedaniel.rei.plugin.brewing.DefaultBrewingCategory; @@ -279,7 +280,7 @@ public class DefaultPlugin implements REIPluginEntry { recipeHelper.registerSpeedCraftButtonArea(DefaultPlugin.CAMPFIRE, bounds -> new Rectangle((int) bounds.getMaxX() - 16, bounds.y + 6, 10, 10)); recipeHelper.registerRecipeVisibilityHandler(new DisplayVisibilityHandler() { @Override - public DisplayVisibility handleDisplay(RecipeCategory category, RecipeDisplay display) { + public DisplayVisibility handleDisplay(RecipeCategory<?> category, RecipeDisplay display) { return DisplayVisibility.ALWAYS_VISIBLE; } diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoCraftingTableHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoCraftingTableHandler.java new file mode 100644 index 000000000..f33ee24fa --- /dev/null +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoCraftingTableHandler.java @@ -0,0 +1,26 @@ +package me.shedaniel.rei.plugin.autocrafting; + +import me.shedaniel.rei.api.AutoCraftingHandler; +import me.shedaniel.rei.client.ScreenHelper; +import me.shedaniel.rei.gui.ContainerScreenOverlay; +import me.shedaniel.rei.listeners.RecipeBookGuiHooks; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; +import net.minecraft.client.gui.screen.ingame.CraftingTableScreen; +import net.minecraft.container.CraftingTableContainer; + +public class AutoCraftingTableHandler implements AutoCraftingHandler { + @Override + public boolean handle(MinecraftClient minecraft, Screen recipeViewingScreen, AbstractContainerScreen<?> parentScreen, ContainerScreenOverlay overlay) { + if (parentScreen instanceof CraftingTableScreen) { + CraftingTableScreen craftingTableScreen = (CraftingTableScreen) parentScreen; + minecraft.openScreen(craftingTableScreen); + ((RecipeBookGuiHooks) craftingTableScreen.getRecipeBookGui()).rei_getGhostSlots().reset(); + CraftingTableContainer container = craftingTableScreen.getContainer(); + ScreenHelper.getLastOverlay().init(); + return true; + } + return false; + } +} diff --git a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java index d64e1315d..1cc64f818 100644 --- a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java @@ -20,7 +20,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -public class DefaultBlastingDisplay implements RecipeDisplay<BlastingRecipe> { +public class DefaultBlastingDisplay implements RecipeDisplay { private BlastingRecipe display; private List<List<ItemStack>> input; diff --git a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java index 95ea5b1fd..213b3c034 100644 --- a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java @@ -20,7 +20,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingRecipe> { +public class DefaultCampfireDisplay implements RecipeDisplay { private List<List<ItemStack>> inputs; private List<ItemStack> output; 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 957fa619b..79f85dd66 100644 --- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java @@ -7,7 +7,10 @@ package me.shedaniel.rei.plugin.composting; import com.google.common.collect.Lists; import com.mojang.blaze3d.platform.GlStateManager; -import me.shedaniel.rei.api.*; +import me.shedaniel.rei.api.DisplaySettings; +import me.shedaniel.rei.api.RecipeCategory; +import me.shedaniel.rei.api.Renderable; +import me.shedaniel.rei.api.Renderer; import me.shedaniel.rei.gui.renderables.RecipeRenderer; import me.shedaniel.rei.gui.widget.RecipeBaseWidget; import me.shedaniel.rei.gui.widget.SlotWidget; @@ -97,20 +100,20 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti } @Override - public DisplaySettings getDisplaySettings() { - return new DisplaySettings() { + public DisplaySettings<DefaultCompostingDisplay> getDisplaySettings() { + return new DisplaySettings<DefaultCompostingDisplay>() { @Override - public int getDisplayHeight(RecipeCategory iRecipeCategory) { + public int getDisplayHeight(RecipeCategory<?> recipeCategory) { return 140; } @Override - public int getDisplayWidth(RecipeCategory iRecipeCategory, RecipeDisplay display) { + public int getDisplayWidth(RecipeCategory<?> recipeCategory, DefaultCompostingDisplay display) { return 150; } @Override - public int getMaximumRecipePerPage(RecipeCategory iRecipeCategory) { + public int getMaximumRecipePerPage(RecipeCategory<?> recipeCategory) { return -1; } diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java index a74a3a291..b63fdc97c 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java @@ -7,10 +7,9 @@ package me.shedaniel.rei.plugin.crafting; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; -import net.minecraft.recipe.Recipe; import net.minecraft.util.Identifier; -public interface DefaultCraftingDisplay<T> extends RecipeDisplay<Recipe> { +public interface DefaultCraftingDisplay<T> extends RecipeDisplay { @Override default Identifier getRecipeCategory() { diff --git a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java index e0e297c0c..b41bc1b3e 100644 --- a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java @@ -20,7 +20,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -public class DefaultSmeltingDisplay implements RecipeDisplay<SmeltingRecipe> { +public class DefaultSmeltingDisplay implements RecipeDisplay { private SmeltingRecipe display; private List<List<ItemStack>> input; diff --git a/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java index 3bc95b6f4..2703549f7 100644 --- a/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java @@ -20,7 +20,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -public class DefaultSmokingDisplay implements RecipeDisplay<SmokingRecipe> { +public class DefaultSmokingDisplay implements RecipeDisplay { private SmokingRecipe display; private List<List<ItemStack>> input; diff --git a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java index d011cb917..c38ceb3b8 100644 --- a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java @@ -63,20 +63,20 @@ public class DefaultStoneCuttingCategory implements RecipeCategory<DefaultStoneC } @Override - public DisplaySettings getDisplaySettings() { + public DisplaySettings<DefaultStoneCuttingDisplay> getDisplaySettings() { return new DisplaySettings<DefaultStoneCuttingDisplay>() { @Override - public int getDisplayHeight(RecipeCategory category) { + public int getDisplayHeight(RecipeCategory<?> category) { return 36; } @Override - public int getDisplayWidth(RecipeCategory category, DefaultStoneCuttingDisplay display) { + public int getDisplayWidth(RecipeCategory<?> category, DefaultStoneCuttingDisplay display) { return 150; } @Override - public int getMaximumRecipePerPage(RecipeCategory category) { + public int getMaximumRecipePerPage(RecipeCategory<?> category) { return 99; } }; diff --git a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java index 5b765e0b4..398656f84 100644 --- a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java @@ -20,7 +20,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRecipe> { +public class DefaultStoneCuttingDisplay implements RecipeDisplay { private List<List<ItemStack>> inputs; private List<ItemStack> output; |
