aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorDaniel She <shekwancheung0528@gmail.com>2019-06-06 20:14:42 +0800
committerDaniel She <shekwancheung0528@gmail.com>2019-06-06 20:14:42 +0800
commitfab214806ccc3ffbfd03e4034af6cee906124b7a (patch)
treed5c1a2e108b81d3a57988d4f03ed515c991e75e4 /src/main/java/me/shedaniel/rei/plugin
parentd414c887e0c42325cf2e7c778b32e3fb13ee2e69 (diff)
parent558504bd65af2138d73825f1ffa8066a5d70e8f5 (diff)
downloadRoughlyEnoughItems-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')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCampfireCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java49
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java4
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);
}
}));