aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-06-08 20:30:53 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-06-08 20:30:53 +0800
commit4710c557f449703362665a520bf68b85b2a7cdc1 (patch)
treeed9555c626be11c7bc0d230d2b905856269bd916 /src/main/java/me/shedaniel/rei/plugin
parent28adfa726bcdb27eea4ffa39962c881d5c3d929b (diff)
downloadRoughlyEnoughItems-4710c557f449703362665a520bf68b85b2a7cdc1.tar.gz
RoughlyEnoughItems-4710c557f449703362665a520bf68b85b2a7cdc1.tar.bz2
RoughlyEnoughItems-4710c557f449703362665a520bf68b85b2a7cdc1.zip
We are going to break lots of mods
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java11
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java6
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java9
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java103
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java5
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java5
11 files changed, 36 insertions, 128 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
index 3adab1d6f..6e490c47c 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
@@ -9,6 +9,7 @@ import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.block.entity.FurnaceBlockEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.recipe.AbstractCookingRecipe;
import net.minecraft.recipe.BlastingRecipe;
import net.minecraft.util.Identifier;
@@ -32,8 +33,8 @@ public class DefaultBlastingDisplay implements RecipeDisplay<BlastingRecipe> {
}
@Override
- public Optional<BlastingRecipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(AbstractCookingRecipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
index 792b3a78d..80c49b53e 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
@@ -10,10 +10,12 @@ import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Ingredient;
-import net.minecraft.recipe.Recipe;
import net.minecraft.util.Identifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
public class DefaultBrewingDisplay implements RecipeDisplay {
@@ -27,11 +29,6 @@ public class DefaultBrewingDisplay implements RecipeDisplay {
}
@Override
- public Optional<Recipe> getRecipe() {
- return Optional.empty();
- }
-
- @Override
public List<List<ItemStack>> getInput() {
return Lists.newArrayList(Collections.singletonList(input), Arrays.asList(reactant.getStackArray()));
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
index 4e910be9e..86ab7a26a 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
@@ -7,6 +7,7 @@ package me.shedaniel.rei.plugin;
import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.item.ItemStack;
+import net.minecraft.recipe.AbstractCookingRecipe;
import net.minecraft.recipe.CampfireCookingRecipe;
import net.minecraft.recipe.Ingredient;
import net.minecraft.util.DefaultedList;
@@ -41,8 +42,8 @@ public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingReci
}
@Override
- public Optional<CampfireCookingRecipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(AbstractCookingRecipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java
index 235bbcd06..e61e59268 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCompostingDisplay.java
@@ -9,7 +9,6 @@ import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.item.Item;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.ItemStack;
-import net.minecraft.recipe.Recipe;
import net.minecraft.util.Identifier;
import java.util.*;
@@ -35,11 +34,6 @@ public class DefaultCompostingDisplay implements RecipeDisplay {
}
@Override
- public Optional<Recipe> getRecipe() {
- return Optional.empty();
- }
-
- @Override
public List<List<ItemStack>> getInput() {
List<List<ItemStack>> lists = new ArrayList<>();
allItems.stream().forEachOrdered(itemProvider -> {
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java
index 21c141906..1a434e2f4 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java
@@ -8,6 +8,7 @@ package me.shedaniel.rei.plugin;
import com.google.common.collect.Lists;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Recipe;
+import net.minecraft.util.Identifier;
import java.util.List;
import java.util.Optional;
@@ -41,9 +42,13 @@ public class DefaultCustomDisplay implements DefaultCraftingDisplay {
this(input, output, null);
}
+ public Recipe getPossibleRecipe() {
+ return possibleRecipe;
+ }
+
@Override
- public Optional<Recipe> getRecipe() {
- return Optional.ofNullable(possibleRecipe);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(possibleRecipe).map(Recipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index c04aba51a..243a12b89 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -13,11 +13,10 @@ import me.shedaniel.rei.client.ScreenHelper;
import me.shedaniel.rei.gui.RecipeViewingScreen;
import me.shedaniel.rei.gui.VillagerRecipeViewingScreen;
import me.shedaniel.rei.listeners.ContainerScreenHooks;
-import me.shedaniel.rei.listeners.RecipeBookGuiHooks;
import net.minecraft.block.ComposterBlock;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.gui.screen.ingame.*;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
+import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
import net.minecraft.client.recipe.book.ClientRecipeBook;
import net.minecraft.container.CraftingContainer;
@@ -134,7 +133,7 @@ public class DefaultPlugin implements REIPluginEntry {
if (ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.isEmpty())
ComposterBlock.registerDefaultCompostableItems();
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.keySet().forEach(itemConvertible -> {
- float chance = ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.get(itemConvertible);
+ float chance = ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.getOrDefault(itemConvertible, 0);
if (chance > 0)
map.put(itemConvertible, chance);
});
@@ -269,6 +268,7 @@ public class DefaultPlugin implements REIPluginEntry {
recipeHelper.registerWorkingStations(STONE_CUTTING, new ItemStack(Items.STONECUTTER));
recipeHelper.registerWorkingStations(COMPOSTING, new ItemStack(Items.COMPOSTER));
recipeHelper.registerSpeedCraftButtonArea(COMPOSTING, bounds -> null);
+ recipeHelper.registerSpeedCraftButtonArea(DefaultPlugin.CAMPFIRE, bounds -> new Rectangle((int) bounds.getMaxX() - 16, bounds.y + 6, 10, 10));
recipeHelper.registerRecipeVisibilityHandler(new DisplayVisibilityHandler() {
@Override
public DisplayVisibility handleDisplay(RecipeCategory category, RecipeDisplay display) {
@@ -280,101 +280,6 @@ public class DefaultPlugin implements REIPluginEntry {
return -1f;
}
});
- 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() {
- return new Class[]{InventoryScreen.class, CraftingTableScreen.class};
- }
-
- @Override
- public boolean performAutoCraft(Screen screen, DefaultCraftingDisplay recipe) {
- if (!recipe.getRecipe().isPresent())
- return false;
- if (screen.getClass().isAssignableFrom(CraftingTableScreen.class))
- ((RecipeBookGuiHooks) (((CraftingTableScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset();
- else if (screen.getClass().isAssignableFrom(InventoryScreen.class))
- ((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());
- return true;
- }
-
- @Override
- public boolean acceptRecipe(Screen screen, DefaultCraftingDisplay recipe) {
- return screen instanceof CraftingTableScreen || (screen instanceof InventoryScreen && recipe.getHeight() < 3 && recipe.getWidth() < 3);
- }
- });
- recipeHelper.registerSpeedCraftFunctional(DefaultPlugin.SMELTING, new SpeedCraftFunctional<DefaultSmeltingDisplay>() {
- @Override
- public Class[] getFunctioningFor() {
- return new Class[]{FurnaceScreen.class};
- }
-
- @Override
- public boolean performAutoCraft(Screen screen, DefaultSmeltingDisplay recipe) {
- if (!recipe.getRecipe().isPresent())
- return false;
- if (screen instanceof FurnaceScreen)
- ((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());
- return true;
- }
-
- @Override
- public boolean acceptRecipe(Screen screen, DefaultSmeltingDisplay recipe) {
- return screen instanceof FurnaceScreen;
- }
- });
- recipeHelper.registerSpeedCraftFunctional(DefaultPlugin.SMOKING, new SpeedCraftFunctional<DefaultSmokingDisplay>() {
- @Override
- public Class[] getFunctioningFor() {
- return new Class[]{SmokerScreen.class};
- }
-
- @Override
- public boolean performAutoCraft(Screen screen, DefaultSmokingDisplay recipe) {
- if (!recipe.getRecipe().isPresent())
- return false;
- if (screen instanceof SmokerScreen)
- ((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());
- return true;
- }
-
- @Override
- public boolean acceptRecipe(Screen screen, DefaultSmokingDisplay recipe) {
- return screen instanceof SmokerScreen;
- }
- });
- recipeHelper.registerSpeedCraftFunctional(DefaultPlugin.BLASTING, new SpeedCraftFunctional<DefaultBlastingDisplay>() {
- @Override
- public Class[] getFunctioningFor() {
- return new Class[]{BlastFurnaceScreen.class};
- }
-
- @Override
- public boolean acceptRecipe(Screen screen, DefaultBlastingDisplay recipe) {
- return screen instanceof BlastFurnaceScreen;
- }
-
- @Override
- public boolean performAutoCraft(Screen screen, DefaultBlastingDisplay recipe) {
- if (!recipe.getRecipe().isPresent())
- return false;
- if (screen instanceof BlastFurnaceScreen)
- ((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());
- return true;
- }
- });
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
index 29aae3126..7e9a3e075 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
@@ -8,6 +8,7 @@ package me.shedaniel.rei.plugin;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.ShapedRecipe;
+import net.minecraft.util.Identifier;
import java.util.Arrays;
import java.util.Collections;
@@ -28,8 +29,8 @@ public class DefaultShapedDisplay implements DefaultCraftingDisplay<ShapedRecipe
}
@Override
- public Optional<Recipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(ShapedRecipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
index b3c4fe323..678fcd675 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
@@ -7,6 +7,7 @@ package me.shedaniel.rei.plugin;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.ShapelessRecipe;
+import net.minecraft.util.Identifier;
import java.util.Arrays;
import java.util.Collections;
@@ -27,8 +28,8 @@ public class DefaultShapelessDisplay implements DefaultCraftingDisplay {
}
@Override
- public Optional<ShapelessRecipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(ShapelessRecipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
index e3d50c397..a291b1037 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
@@ -9,6 +9,7 @@ import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.block.entity.FurnaceBlockEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.recipe.AbstractCookingRecipe;
import net.minecraft.recipe.SmeltingRecipe;
import net.minecraft.util.Identifier;
@@ -32,8 +33,8 @@ public class DefaultSmeltingDisplay implements RecipeDisplay<SmeltingRecipe> {
}
@Override
- public Optional<SmeltingRecipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(AbstractCookingRecipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
index a4ea4739c..d85d168f8 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
@@ -9,6 +9,7 @@ import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.block.entity.FurnaceBlockEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.recipe.AbstractCookingRecipe;
import net.minecraft.recipe.SmokingRecipe;
import net.minecraft.util.Identifier;
@@ -32,8 +33,8 @@ public class DefaultSmokingDisplay implements RecipeDisplay<SmokingRecipe> {
}
@Override
- public Optional<SmokingRecipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(AbstractCookingRecipe::getId);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
index 80776a44c..f7d0802f4 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
@@ -7,6 +7,7 @@ package me.shedaniel.rei.plugin;
import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.item.ItemStack;
+import net.minecraft.recipe.CuttingRecipe;
import net.minecraft.recipe.Ingredient;
import net.minecraft.recipe.StonecuttingRecipe;
import net.minecraft.util.DefaultedList;
@@ -35,8 +36,8 @@ public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRec
}
@Override
- public Optional<StonecuttingRecipe> getRecipe() {
- return Optional.ofNullable(display);
+ public Optional<Identifier> getRecipeLocation() {
+ return Optional.ofNullable(display).map(CuttingRecipe::getId);
}
@Override