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/DefaultBrewingCategory.java15
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java14
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java28
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java12
4 files changed, 36 insertions, 33 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java
index c3f3c895a..d51fb0798 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java
@@ -19,6 +19,7 @@ import java.awt.*;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
+import java.util.function.Supplier;
public class DefaultBrewingCategory implements IRecipeCategory<DefaultBrewingDisplay> {
@@ -40,7 +41,7 @@ public class DefaultBrewingCategory implements IRecipeCategory<DefaultBrewingDis
}
@Override
- public List<IWidget> setupDisplay(IMixinGuiContainer containerGui, DefaultBrewingDisplay recipeDisplay, Rectangle bounds) {
+ public List<IWidget> setupDisplay(Supplier<DefaultBrewingDisplay> recipeDisplaySupplier, Rectangle bounds) {
Point startPoint = new Point((int) bounds.getCenterX() - 52, (int) bounds.getCenterY() - 29);
List<IWidget> widgets = new LinkedList<>(Arrays.asList(new RecipeBaseWidget(bounds) {
@Override
@@ -54,32 +55,32 @@ public class DefaultBrewingCategory implements IRecipeCategory<DefaultBrewingDis
drawTexturedModalRect(startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4);
}
}));
- widgets.add(new ItemSlotWidget(startPoint.x + 1, startPoint.y + 1, Arrays.asList(new ItemStack(Items.BLAZE_POWDER)), false, true, containerGui, true));
- widgets.add(new ItemSlotWidget(startPoint.x + 63, startPoint.y + 1, recipeDisplay.getInput().get(0), false, true, containerGui, true) {
+ widgets.add(new ItemSlotWidget(startPoint.x + 1, startPoint.y + 1, Arrays.asList(new ItemStack(Items.BLAZE_POWDER)), false, true, true));
+ widgets.add(new ItemSlotWidget(startPoint.x + 63, startPoint.y + 1, recipeDisplaySupplier.get().getInput().get(0), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Arrays.asList(I18n.format("category.rei.brewing.input"));
}
});
- widgets.add(new ItemSlotWidget(startPoint.x + 40, startPoint.y + 1, recipeDisplay.getInput().get(1), false, true, containerGui, true) {
+ widgets.add(new ItemSlotWidget(startPoint.x + 40, startPoint.y + 1, recipeDisplaySupplier.get().getInput().get(1), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Arrays.asList(I18n.format("category.rei.brewing.reactant"));
}
});
- widgets.add(new ItemSlotWidget(startPoint.x + 40, startPoint.y + 35, recipeDisplay.getOutput(0), false, true, containerGui, true) {
+ widgets.add(new ItemSlotWidget(startPoint.x + 40, startPoint.y + 35, recipeDisplaySupplier.get().getOutput(0), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Arrays.asList(I18n.format("category.rei.brewing.result"));
}
});
- widgets.add(new ItemSlotWidget(startPoint.x + 63, startPoint.y + 42, recipeDisplay.getOutput(1), false, true, containerGui, true) {
+ widgets.add(new ItemSlotWidget(startPoint.x + 63, startPoint.y + 42, recipeDisplaySupplier.get().getOutput(1), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Arrays.asList(I18n.format("category.rei.brewing.result"));
}
});
- widgets.add(new ItemSlotWidget(startPoint.x + 86, startPoint.y + 35, recipeDisplay.getOutput(2), false, true, containerGui, true) {
+ widgets.add(new ItemSlotWidget(startPoint.x + 86, startPoint.y + 35, recipeDisplaySupplier.get().getOutput(2), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Arrays.asList(I18n.format("category.rei.brewing.result"));
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java
index a856ed13d..32eda67c4 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java
@@ -5,7 +5,6 @@ import me.shedaniel.rei.api.IRecipeCategory;
import me.shedaniel.rei.gui.widget.IWidget;
import me.shedaniel.rei.gui.widget.ItemSlotWidget;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
-import me.shedaniel.rei.listeners.IMixinGuiContainer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
@@ -18,6 +17,7 @@ import java.awt.*;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
+import java.util.function.Supplier;
public class DefaultCraftingCategory implements IRecipeCategory<DefaultCraftingDisplay> {
@@ -39,7 +39,7 @@ public class DefaultCraftingCategory implements IRecipeCategory<DefaultCraftingD
}
@Override
- public List<IWidget> setupDisplay(IMixinGuiContainer containerGui, DefaultCraftingDisplay recipeDisplay, Rectangle bounds) {
+ public List<IWidget> setupDisplay(Supplier<DefaultCraftingDisplay> recipeDisplaySupplier, Rectangle bounds) {
Point startPoint = new Point((int) bounds.getCenterX() - 58, (int) bounds.getCenterY() - 27);
List<IWidget> widgets = new LinkedList<>(Arrays.asList(new RecipeBaseWidget(bounds) {
@Override
@@ -51,20 +51,20 @@ public class DefaultCraftingCategory implements IRecipeCategory<DefaultCraftingD
drawTexturedModalRect(startPoint.x, startPoint.y, 0, 0, 116, 54);
}
}));
- List<List<ItemStack>> input = recipeDisplay.getInput();
+ List<List<ItemStack>> input = recipeDisplaySupplier.get().getInput();
List<ItemSlotWidget> slots = Lists.newArrayList();
for(int y = 0; y < 3; y++)
for(int x = 0; x < 3; x++)
- slots.add(new ItemSlotWidget(startPoint.x + 1 + x * 18, startPoint.y + 1 + y * 18, Lists.newArrayList(), true, true, containerGui, true));
+ slots.add(new ItemSlotWidget(startPoint.x + 1 + x * 18, startPoint.y + 1 + y * 18, Lists.newArrayList(), true, true, true));
for(int i = 0; i < input.size(); i++) {
- if (recipeDisplay instanceof DefaultShapedDisplay) {
+ if (recipeDisplaySupplier.get() instanceof DefaultShapedDisplay) {
if (!input.get(i).isEmpty())
- slots.get(getSlotWithSize(recipeDisplay, i)).setItemList(input.get(i));
+ slots.get(getSlotWithSize(recipeDisplaySupplier.get(), i)).setItemList(input.get(i));
} else if (!input.get(i).isEmpty())
slots.get(i).setItemList(input.get(i));
}
widgets.addAll(slots);
- widgets.add(new ItemSlotWidget(startPoint.x + 95, startPoint.y + 19, recipeDisplay.getOutput(), false, true, containerGui, true) {
+ widgets.add(new ItemSlotWidget(startPoint.x + 95, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true) {
@Override
protected String getItemCountOverlay(ItemStack currentStack) {
if (currentStack.getCount() == 1)
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index 4b0ed8cf9..6fa88d2e0 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -33,27 +33,27 @@ public class DefaultPlugin implements IRecipePlugin {
@Override
public void registerPluginCategories() {
- RecipeHelper.registerCategory(new DefaultCraftingCategory());
- RecipeHelper.registerCategory(new DefaultSmeltingCategory());
- RecipeHelper.registerCategory(new DefaultBrewingCategory());
+ RecipeHelper.getInstance().registerCategory(new DefaultCraftingCategory());
+ RecipeHelper.getInstance().registerCategory(new DefaultSmeltingCategory());
+ RecipeHelper.getInstance().registerCategory(new DefaultBrewingCategory());
}
@Override
public void registerRecipes() {
- for(IRecipe value : RecipeHelper.getRecipeManager().getRecipes())
+ for(IRecipe value : RecipeHelper.getInstance().getRecipeManager().getRecipes())
if (value instanceof ShapelessRecipe)
- RecipeHelper.registerRecipe(CRAFTING, new DefaultShapelessDisplay((ShapelessRecipe) value));
+ RecipeHelper.getInstance().registerRecipe(CRAFTING, new DefaultShapelessDisplay((ShapelessRecipe) value));
else if (value instanceof ShapedRecipe)
- RecipeHelper.registerRecipe(CRAFTING, new DefaultShapedDisplay((ShapedRecipe) value));
+ RecipeHelper.getInstance().registerRecipe(CRAFTING, new DefaultShapedDisplay((ShapedRecipe) value));
else if (value instanceof FurnaceRecipe)
- RecipeHelper.registerRecipe(SMELTING, new DefaultSmeltingDisplay((FurnaceRecipe) value));
- BREWING_DISPLAYS.forEach(display -> RecipeHelper.registerRecipe(BREWING, display));
+ RecipeHelper.getInstance().registerRecipe(SMELTING, new DefaultSmeltingDisplay((FurnaceRecipe) value));
+ BREWING_DISPLAYS.forEach(display -> RecipeHelper.getInstance().registerRecipe(BREWING, display));
}
@Override
public void registerSpeedCraft() {
- RecipeHelper.registerSpeedCraftButtonArea(DefaultPlugin.BREWING, null);
- RecipeHelper.registerSpeedCraftFunctional(DefaultPlugin.CRAFTING, new SpeedCraftFunctional<DefaultCraftingDisplay>() {
+ RecipeHelper.getInstance().registerSpeedCraftButtonArea(DefaultPlugin.BREWING, null);
+ RecipeHelper.getInstance().registerSpeedCraftFunctional(DefaultPlugin.CRAFTING, new SpeedCraftFunctional<DefaultCraftingDisplay>() {
@Override
public Class[] getFunctioningFor() {
return new Class[]{GuiInventory.class, GuiCrafting.class};
@@ -65,7 +65,8 @@ public class DefaultPlugin implements IRecipePlugin {
((IMixinRecipeBookGui) (((GuiCrafting) gui).func_194310_f())).getGhostRecipe().clear();
else if (gui.getClass().isAssignableFrom(GuiInventory.class))
((IMixinRecipeBookGui) (((GuiInventory) gui).func_194310_f())).getGhostRecipe().clear();
- else return false;
+ else
+ return false;
Minecraft.getInstance().playerController.func_203413_a(Minecraft.getInstance().player.openContainer.windowId, recipe.getRecipe(), GuiScreen.isShiftKeyDown());
return true;
}
@@ -75,7 +76,7 @@ public class DefaultPlugin implements IRecipePlugin {
return gui instanceof GuiCrafting || (gui instanceof GuiInventory && recipe.getHeight() < 3 && recipe.getWidth() < 3);
}
});
- RecipeHelper.registerSpeedCraftFunctional(DefaultPlugin.SMELTING, new SpeedCraftFunctional<DefaultSmeltingDisplay>() {
+ RecipeHelper.getInstance().registerSpeedCraftFunctional(DefaultPlugin.SMELTING, new SpeedCraftFunctional<DefaultSmeltingDisplay>() {
@Override
public Class[] getFunctioningFor() {
return new Class[]{GuiFurnace.class};
@@ -85,7 +86,8 @@ public class DefaultPlugin implements IRecipePlugin {
public boolean performAutoCraft(Gui gui, DefaultSmeltingDisplay recipe) {
if (gui instanceof GuiFurnace)
((IMixinRecipeBookGui) (((GuiFurnace) gui).func_194310_f())).getGhostRecipe().clear();
- else return false;
+ else
+ return false;
Minecraft.getInstance().playerController.func_203413_a(Minecraft.getInstance().player.openContainer.windowId, recipe.getRecipe(), GuiScreen.isShiftKeyDown());
return true;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java
index ae3b56e50..3fd37a356 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java
@@ -4,7 +4,6 @@ import me.shedaniel.rei.api.IRecipeCategory;
import me.shedaniel.rei.gui.widget.IWidget;
import me.shedaniel.rei.gui.widget.ItemSlotWidget;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
-import me.shedaniel.rei.listeners.IMixinGuiContainer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
@@ -18,6 +17,7 @@ import java.awt.*;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
+import java.util.function.Supplier;
public class DefaultSmeltingCategory implements IRecipeCategory<DefaultSmeltingDisplay> {
@@ -39,7 +39,7 @@ public class DefaultSmeltingCategory implements IRecipeCategory<DefaultSmeltingD
}
@Override
- public List<IWidget> setupDisplay(IMixinGuiContainer containerGui, DefaultSmeltingDisplay recipeDisplay, Rectangle bounds) {
+ public List<IWidget> setupDisplay(Supplier<DefaultSmeltingDisplay> recipeDisplaySupplier, Rectangle bounds) {
Point startPoint = new Point((int) bounds.getCenterX() - 41, (int) bounds.getCenterY() - 27);
List<IWidget> widgets = new LinkedList<>(Arrays.asList(new RecipeBaseWidget(bounds) {
@Override
@@ -55,15 +55,15 @@ public class DefaultSmeltingCategory implements IRecipeCategory<DefaultSmeltingD
drawTexturedModalRect(startPoint.x + 24, startPoint.y + 19, 82, 92, width, 17);
}
}));
- List<List<ItemStack>> input = recipeDisplay.getInput();
- widgets.add(new ItemSlotWidget(startPoint.x + 1, startPoint.y + 1, input.get(0), true, true, containerGui, true));
- widgets.add(new ItemSlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplay.getFuel(), true, true, containerGui, true) {
+ List<List<ItemStack>> input = recipeDisplaySupplier.get().getInput();
+ widgets.add(new ItemSlotWidget(startPoint.x + 1, startPoint.y + 1, input.get(0), true, true, true));
+ widgets.add(new ItemSlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplaySupplier.get().getFuel(), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Arrays.asList(I18n.format("category.rei.smelting.fuel"));
}
});
- widgets.add(new ItemSlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplay.getOutput(), false, true, containerGui, true));
+ widgets.add(new ItemSlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true));
return widgets;
}