aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java49
1 files changed, 25 insertions, 24 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index 1120e4384..3815b35b9 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -42,9 +42,14 @@ public class DefaultPlugin implements REIPluginEntry {
public static final Identifier STONE_CUTTING = new Identifier("minecraft", "plugins/stone_cutting");
public static final Identifier BREWING = new Identifier("minecraft", "plugins/brewing");
public static final Identifier PLUGIN = new Identifier("roughlyenoughitems", "default_plugin");
-
+ private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png");
+ private static final Identifier DISPLAY_TEXTURE_DARK = new Identifier("roughlyenoughitems", "textures/gui/display_dark.png");
private static final List<DefaultBrewingDisplay> BREWING_DISPLAYS = Lists.newArrayList();
+ public static Identifier getDisplayTexture() {
+ return RoughlyEnoughItemsCore.getConfigManager().getConfig().darkTheme ? DISPLAY_TEXTURE_DARK : DISPLAY_TEXTURE;
+ }
+
public static void registerBrewingDisplay(DefaultBrewingDisplay display) {
BREWING_DISPLAYS.add(display);
}
@@ -97,21 +102,13 @@ public class DefaultPlugin implements REIPluginEntry {
@Override
public void registerRecipeDisplays(RecipeHelper recipeHelper) {
- for(Recipe recipe : recipeHelper.getAllSortedRecipes())
- if (recipe instanceof ShapelessRecipe)
- recipeHelper.registerDisplay(CRAFTING, new DefaultShapelessDisplay((ShapelessRecipe) recipe));
- else if (recipe instanceof ShapedRecipe)
- recipeHelper.registerDisplay(CRAFTING, new DefaultShapedDisplay((ShapedRecipe) recipe));
- else if (recipe instanceof SmeltingRecipe)
- recipeHelper.registerDisplay(SMELTING, new DefaultSmeltingDisplay((SmeltingRecipe) recipe));
- else if (recipe instanceof SmokingRecipe)
- recipeHelper.registerDisplay(SMOKING, new DefaultSmokingDisplay((SmokingRecipe) recipe));
- else if (recipe instanceof BlastingRecipe)
- recipeHelper.registerDisplay(BLASTING, new DefaultBlastingDisplay((BlastingRecipe) recipe));
- else if (recipe instanceof CampfireCookingRecipe)
- recipeHelper.registerDisplay(CAMPFIRE, new DefaultCampfireDisplay((CampfireCookingRecipe) recipe));
- else if (recipe instanceof StonecuttingRecipe)
- recipeHelper.registerDisplay(STONE_CUTTING, new DefaultStoneCuttingDisplay((StonecuttingRecipe) recipe));
+ recipeHelper.registerRecipes(CRAFTING, ShapelessRecipe.class, DefaultShapelessDisplay::new);
+ recipeHelper.registerRecipes(CRAFTING, ShapedRecipe.class, DefaultShapedDisplay::new);
+ recipeHelper.registerRecipes(SMELTING, SmeltingRecipe.class, DefaultSmeltingDisplay::new);
+ recipeHelper.registerRecipes(SMOKING, SmokingRecipe.class, DefaultSmokingDisplay::new);
+ recipeHelper.registerRecipes(BLASTING, BlastingRecipe.class, DefaultBlastingDisplay::new);
+ recipeHelper.registerRecipes(CAMPFIRE, CampfireCookingRecipe.class, DefaultCampfireDisplay::new);
+ recipeHelper.registerRecipes(STONE_CUTTING, StonecuttingRecipe.class, DefaultStoneCuttingDisplay::new);
BREWING_DISPLAYS.stream().forEachOrdered(display -> recipeHelper.registerDisplay(BREWING, display));
List<ItemStack> arrowStack = Collections.singletonList(Items.ARROW.getDefaultStack());
RoughlyEnoughItemsCore.getItemRegisterer().getItemList().stream().filter(stack -> stack.getItem().equals(Items.LINGERING_POTION)).forEach(stack -> {
@@ -238,6 +235,13 @@ public class DefaultPlugin implements REIPluginEntry {
@Override
public void registerOthers(RecipeHelper recipeHelper) {
+ recipeHelper.registerWorkingStations(CRAFTING, new ItemStack(Items.CRAFTING_TABLE));
+ recipeHelper.registerWorkingStations(SMELTING, new ItemStack(Items.FURNACE));
+ recipeHelper.registerWorkingStations(SMOKING, new ItemStack(Items.SMOKER));
+ recipeHelper.registerWorkingStations(BLASTING, new ItemStack(Items.BLAST_FURNACE));
+ recipeHelper.registerWorkingStations(CAMPFIRE, new ItemStack(Items.CAMPFIRE));
+ recipeHelper.registerWorkingStations(BREWING, new ItemStack(Items.BREWING_STAND));
+ recipeHelper.registerWorkingStations(STONE_CUTTING, new ItemStack(Items.STONECUTTER));
recipeHelper.registerRecipeVisibilityHandler(new DisplayVisibilityHandler() {
@Override
public DisplayVisibility handleDisplay(RecipeCategory category, RecipeDisplay display) {
@@ -249,10 +253,7 @@ public class DefaultPlugin implements REIPluginEntry {
return -1f;
}
});
- recipeHelper.registerDefaultSpeedCraftButtonArea(DefaultPlugin.CRAFTING);
- recipeHelper.registerDefaultSpeedCraftButtonArea(DefaultPlugin.SMELTING);
- recipeHelper.registerDefaultSpeedCraftButtonArea(DefaultPlugin.SMOKING);
- recipeHelper.registerDefaultSpeedCraftButtonArea(DefaultPlugin.BLASTING);
+ recipeHelper.registerSpeedCraftButtonArea(DefaultPlugin.CAMPFIRE, bounds -> new Rectangle((int) bounds.getMaxX() - 16, bounds.y + 6, 10, 10));
recipeHelper.registerSpeedCraftFunctional(DefaultPlugin.CRAFTING, new SpeedCraftFunctional<DefaultCraftingDisplay>() {
@Override
public Class[] getFunctioningFor() {
@@ -269,7 +270,7 @@ public class DefaultPlugin implements REIPluginEntry {
((RecipeBookGuiHooks) (((InventoryScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset();
else
return false;
- MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown());
+ MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe<?>) recipe.getRecipe().get(), Screen.hasShiftDown());
return true;
}
@@ -292,7 +293,7 @@ public class DefaultPlugin implements REIPluginEntry {
((RecipeBookGuiHooks) (((FurnaceScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset();
else
return false;
- MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown());
+ MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe<?>) recipe.getRecipe().get(), Screen.hasShiftDown());
return true;
}
@@ -315,7 +316,7 @@ public class DefaultPlugin implements REIPluginEntry {
((RecipeBookGuiHooks) (((SmokerScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset();
else
return false;
- MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown());
+ MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe<?>) recipe.getRecipe().get(), Screen.hasShiftDown());
return true;
}
@@ -343,7 +344,7 @@ public class DefaultPlugin implements REIPluginEntry {
((RecipeBookGuiHooks) (((BlastFurnaceScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset();
else
return false;
- MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown());
+ MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe<?>) recipe.getRecipe().get(), Screen.hasShiftDown());
return true;
}
});