aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java3
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java3
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/AutoCraftingTableHandler.java26
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java15
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java3
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java8
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java2
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;