From fd99a42678f27d74483cfa2ae069de8bea38f893 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 5 Jun 2019 20:14:36 +0800 Subject: recipe id cache --- .../me/shedaniel/rei/plugin/DefaultPlugin.java | 35 ++++++++-------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java') diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index c7f199078..e6dd37dfd 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -102,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 arrowStack = Collections.singletonList(Items.ARROW.getDefaultStack()); RoughlyEnoughItemsCore.getItemRegisterer().getItemList().stream().filter(stack -> stack.getItem().equals(Items.LINGERING_POTION)).forEach(stack -> { @@ -254,10 +246,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() { @Override public Class[] getFunctioningFor() { @@ -274,7 +263,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; } @@ -297,7 +286,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; } @@ -320,7 +309,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; } @@ -348,7 +337,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; } }); -- cgit