diff options
| author | Daniel She <shekwancheung0528@gmail.com> | 2019-06-06 20:14:42 +0800 |
|---|---|---|
| committer | Daniel She <shekwancheung0528@gmail.com> | 2019-06-06 20:14:42 +0800 |
| commit | fab214806ccc3ffbfd03e4034af6cee906124b7a (patch) | |
| tree | d5c1a2e108b81d3a57988d4f03ed515c991e75e4 /src/main/java/me/shedaniel/rei/plugin | |
| parent | d414c887e0c42325cf2e7c778b32e3fb13ee2e69 (diff) | |
| parent | 558504bd65af2138d73825f1ffa8066a5d70e8f5 (diff) | |
| download | RoughlyEnoughItems-fab214806ccc3ffbfd03e4034af6cee906124b7a.tar.gz RoughlyEnoughItems-fab214806ccc3ffbfd03e4034af6cee906124b7a.tar.bz2 RoughlyEnoughItems-fab214806ccc3ffbfd03e4034af6cee906124b7a.zip | |
Merge branch 'fabric-dev' into 1.14
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
8 files changed, 33 insertions, 45 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java index e1ab4c9ed..3861735c1 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java @@ -6,6 +6,7 @@ package me.shedaniel.rei.plugin; import com.mojang.blaze3d.platform.GlStateManager; +import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.RecipeCategory; import me.shedaniel.rei.api.Renderable; import me.shedaniel.rei.api.Renderer; @@ -31,8 +32,6 @@ import java.util.function.Supplier; public class DefaultBlastingCategory implements RecipeCategory<DefaultBlastingDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.BLASTING; @@ -63,7 +62,7 @@ public class DefaultBlastingCategory implements RecipeCategory<DefaultBlastingDi super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 54, 82, 54); int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f); blit(startPoint.x + 2, startPoint.y + 21 + (14 - height), 82, 77 + (14 - height), 14, height); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java index 907c7aaaa..df96cb8b8 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java @@ -31,8 +31,6 @@ import java.util.function.Supplier; public class DefaultBrewingCategory implements RecipeCategory<DefaultBrewingDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.BREWING; @@ -58,7 +56,7 @@ public class DefaultBrewingCategory implements RecipeCategory<DefaultBrewingDisp super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 108, 103, 59); int width = MathHelper.ceil((System.currentTimeMillis() / 250 % 18d) / 1f); blit(startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireCategory.java index 3982009fd..c725ad7a5 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireCategory.java @@ -28,8 +28,6 @@ import java.util.function.Supplier; public class DefaultCampfireCategory implements RecipeCategory<DefaultCampfireDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.CAMPFIRE; @@ -54,7 +52,7 @@ public class DefaultCampfireCategory implements RecipeCategory<DefaultCampfireDi super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 167, 82, 54); int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f); blit(startPoint.x + 2, startPoint.y + 31 + (14 - height), 82, 77 + (14 - height), 14, height); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java index 9a2472a8e..7bc144c6d 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java @@ -29,8 +29,6 @@ import java.util.function.Supplier; public class DefaultCraftingCategory implements RecipeCategory<DefaultCraftingDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.CRAFTING; @@ -55,7 +53,7 @@ public class DefaultCraftingCategory implements RecipeCategory<DefaultCraftingDi super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 0, 116, 54); } })); 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; } }); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java index 56cd26fa9..f45b0c7ba 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java @@ -31,8 +31,6 @@ import java.util.function.Supplier; public class DefaultSmeltingCategory implements RecipeCategory<DefaultSmeltingDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.SMELTING; @@ -62,7 +60,7 @@ public class DefaultSmeltingCategory implements RecipeCategory<DefaultSmeltingDi super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 54, 82, 54); int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f); blit(startPoint.x + 2, startPoint.y + 21 + (14 - height), 82, 77 + (14 - height), 14, height); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java index 76d9c8833..2abb900e0 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java @@ -31,8 +31,6 @@ import java.util.function.Supplier; public class DefaultSmokingCategory implements RecipeCategory<DefaultSmokingDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.SMOKING; @@ -62,7 +60,7 @@ public class DefaultSmokingCategory implements RecipeCategory<DefaultSmokingDisp super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 54, 82, 54); int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f); blit(startPoint.x + 2, startPoint.y + 21 + (14 - height), 82, 77 + (14 - height), 14, height); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java index 599423260..d348de415 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java @@ -28,8 +28,6 @@ import java.util.function.Supplier; public class DefaultStoneCuttingCategory implements RecipeCategory<DefaultStoneCuttingDisplay> { - private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png"); - @Override public Identifier getIdentifier() { return DefaultPlugin.STONE_CUTTING; @@ -54,7 +52,7 @@ public class DefaultStoneCuttingCategory implements RecipeCategory<DefaultStoneC super.render(mouseX, mouseY, delta); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); GuiLighting.disable(); - MinecraftClient.getInstance().getTextureManager().bindTexture(DISPLAY_TEXTURE); + MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); blit(startPoint.x, startPoint.y, 0, 221, 82, 26); } })); |
