aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-04-13 15:40:23 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-04-13 15:40:23 +0800
commit2570a35b35ec29b6677e318f2bf3d5b6640bf106 (patch)
tree28a69c3180b5f875cb931b154ee3718d96067e17 /src/main/java/me/shedaniel/rei/plugin
parent41998600e53f941554c8d73790180c13a2e5663c (diff)
downloadRoughlyEnoughItems-2570a35b35ec29b6677e318f2bf3d5b6640bf106.tar.gz
RoughlyEnoughItems-2570a35b35ec29b6677e318f2bf3d5b6640bf106.tar.bz2
RoughlyEnoughItems-2570a35b35ec29b6677e318f2bf3d5b6640bf106.zip
v2.7.3 Bug fixes
Fix #56
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java13
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java7
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java15
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java13
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java13
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java21
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java8
10 files changed, 64 insertions, 56 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
index 1c1d9c81e..e2dd106f6 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
@@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.recipe.cooking.BlastingRecipe;
import net.minecraft.util.Identifier;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -21,14 +21,9 @@ public class DefaultBlastingDisplay implements RecipeDisplay<BlastingRecipe> {
public DefaultBlastingDisplay(BlastingRecipe recipe) {
this.display = recipe;
- List<ItemStack> fuel = Lists.newArrayList();
- this.input = Lists.newArrayList();
- fuel.addAll(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
- recipe.getPreviewInputs().forEach(ingredient -> {
- input.add(Arrays.asList(ingredient.getStackArray()));
- });
- input.add(fuel);
- this.output = Arrays.asList(recipe.getOutput());
+ this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+ input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
+ this.output = Collections.singletonList(recipe.getOutput());
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
index b49300689..66189e8a6 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
@@ -1,15 +1,15 @@
package me.shedaniel.rei.plugin;
+import com.google.common.collect.Lists;
import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.Items;
import net.minecraft.recipe.Ingredient;
import net.minecraft.recipe.Recipe;
import net.minecraft.util.Identifier;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -31,12 +31,12 @@ public class DefaultBrewingDisplay implements RecipeDisplay {
@Override
public List<List<ItemStack>> getInput() {
- return Arrays.asList(Arrays.asList(input), Arrays.asList(reactant.getStackArray()));
+ return Lists.newArrayList(Collections.singletonList(input), Lists.newArrayList(reactant.getStackArray()));
}
@Override
public List<ItemStack> getOutput() {
- return Arrays.asList(output);
+ return Collections.singletonList(output);
}
@Override
@@ -55,6 +55,6 @@ public class DefaultBrewingDisplay implements RecipeDisplay {
@Override
public List<List<ItemStack>> getRequiredItems() {
- return Arrays.asList(Arrays.asList(new ItemStack(Items.AIR)));
+ return Collections.singletonList(Collections.singletonList(ItemStack.EMPTY));
}
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
index 184f3c54a..f61283d90 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
@@ -8,7 +8,6 @@ import net.minecraft.recipe.cooking.CampfireCookingRecipe;
import net.minecraft.util.DefaultedList;
import net.minecraft.util.Identifier;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -26,8 +25,8 @@ public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingReci
public DefaultCampfireDisplay(DefaultedList<Ingredient> ingredients, ItemStack output, int cookTime) {
this.inputs = Lists.newArrayList();
- ingredients.stream().map(ingredient -> ingredient.getStackArray()).forEach(itemStacks -> Collections.addAll(inputs, itemStacks));
- this.output = Arrays.asList(output);
+ ingredients.stream().map(ingredient -> Lists.newArrayList(ingredient.getStackArray())).forEach(inputs::addAll);
+ this.output = Collections.singletonList(output);
this.cookTime = cookTime;
}
@@ -42,7 +41,7 @@ public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingReci
@Override
public List<List<ItemStack>> getInput() {
- return Arrays.asList(inputs);
+ return Collections.singletonList(inputs);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index ed0958dfb..801fccc52 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -95,7 +95,14 @@ public class DefaultPlugin implements REIPlugin {
@Override
public void registerRecipeDisplays(RecipeHelper recipeHelper) {
- for(Recipe recipe : recipeHelper.getRecipeManager().values())
+ List<Recipe> values = Lists.newLinkedList(recipeHelper.getRecipeManager().values());
+ values.sort((o1, o2) -> {
+ int int_1 = o1.getId().getNamespace().compareTo(o2.getId().getNamespace());
+ if (int_1 == 0)
+ int_1 = o1.getId().getPath().compareTo(o2.getId().getPath());
+ return int_1;
+ });
+ for(Recipe recipe : values)
if (recipe instanceof ShapelessRecipe)
recipeHelper.registerDisplay(CRAFTING, new DefaultShapelessDisplay((ShapelessRecipe) recipe));
else if (recipe instanceof ShapedRecipe)
@@ -111,18 +118,18 @@ public class DefaultPlugin implements REIPlugin {
else if (recipe instanceof StonecuttingRecipe)
recipeHelper.registerDisplay(STONE_CUTTING, new DefaultStoneCuttingDisplay((StonecuttingRecipe) recipe));
BREWING_DISPLAYS.stream().forEachOrdered(display -> recipeHelper.registerDisplay(BREWING, display));
- List<ItemStack> arrowStack = Arrays.asList(Items.ARROW.getDefaultStack());
+ List<ItemStack> arrowStack = Collections.singletonList(Items.ARROW.getDefaultStack());
RoughlyEnoughItemsCore.getItemRegisterer().getItemList().stream().filter(stack -> stack.getItem().equals(Items.LINGERING_POTION)).forEach(stack -> {
List<List<ItemStack>> input = new ArrayList<>();
for(int i = 0; i < 4; i++)
input.add(arrowStack);
- input.add(Arrays.asList(stack));
+ input.add(Collections.singletonList(stack));
for(int i = 0; i < 4; i++)
input.add(arrowStack);
ItemStack outputStack = new ItemStack(Items.TIPPED_ARROW, 8);
PotionUtil.setPotion(outputStack, PotionUtil.getPotion(stack));
PotionUtil.setCustomPotionEffects(outputStack, PotionUtil.getCustomPotionEffects(stack));
- List<ItemStack> output = Lists.newArrayList(outputStack);
+ List<ItemStack> output = Collections.singletonList(outputStack);
recipeHelper.registerDisplay(CRAFTING, new DefaultCustomDisplay(input, output));
});
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
index b7758d7c6..b6cdc3384 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
@@ -5,9 +5,10 @@ import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.crafting.ShapedRecipe;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
public class DefaultShapedDisplay implements DefaultCraftingDisplay<ShapedRecipe> {
@@ -17,11 +18,8 @@ public class DefaultShapedDisplay implements DefaultCraftingDisplay<ShapedRecipe
public DefaultShapedDisplay(ShapedRecipe recipe) {
this.display = recipe;
- this.input = Lists.newArrayList();
- recipe.getPreviewInputs().forEach(ingredient -> {
- input.add(Arrays.asList(ingredient.getStackArray()));
- });
- this.output = Arrays.asList(recipe.getOutput());
+ this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+ this.output = Collections.singletonList(recipe.getOutput());
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
index 7c1c075df..47295d612 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
@@ -4,9 +4,10 @@ import com.google.common.collect.Lists;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.crafting.ShapelessRecipe;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
public class DefaultShapelessDisplay implements DefaultCraftingDisplay {
@@ -16,11 +17,8 @@ public class DefaultShapelessDisplay implements DefaultCraftingDisplay {
public DefaultShapelessDisplay(ShapelessRecipe recipe) {
this.display = recipe;
- this.input = Lists.newArrayList();
- recipe.getPreviewInputs().forEach(ingredient -> {
- input.add(Arrays.asList(ingredient.getStackArray()));
- });
- this.output = Arrays.asList(recipe.getOutput());
+ this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+ this.output = Collections.singletonList(recipe.getOutput());
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
index 044daa28f..ff96ad489 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
@@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.recipe.cooking.SmeltingRecipe;
import net.minecraft.util.Identifier;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -21,14 +21,9 @@ public class DefaultSmeltingDisplay implements RecipeDisplay<SmeltingRecipe> {
public DefaultSmeltingDisplay(SmeltingRecipe recipe) {
this.display = recipe;
- List<ItemStack> fuel = Lists.newArrayList();
- this.input = Lists.newArrayList();
- fuel.addAll(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
- recipe.getPreviewInputs().forEach(ingredient -> {
- input.add(Arrays.asList(ingredient.getStackArray()));
- });
- input.add(fuel);
- this.output = Arrays.asList(recipe.getOutput());
+ this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+ input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
+ this.output = Collections.singletonList(recipe.getOutput());
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
index 988cd2b04..19adb3b97 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
@@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.recipe.cooking.SmokingRecipe;
import net.minecraft.util.Identifier;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -21,14 +21,9 @@ public class DefaultSmokingDisplay implements RecipeDisplay<SmokingRecipe> {
public DefaultSmokingDisplay(SmokingRecipe recipe) {
this.display = recipe;
- List<ItemStack> fuel = Lists.newArrayList();
- this.input = Lists.newArrayList();
- fuel.addAll(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
- recipe.getPreviewInputs().forEach(ingredient -> {
- input.add(Arrays.asList(ingredient.getStackArray()));
- });
- input.add(fuel);
- this.output = Arrays.asList(recipe.getOutput());
+ this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+ input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
+ this.output = Collections.singletonList(recipe.getOutput());
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java
index 8127e31a4..bc0465b59 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java
@@ -1,6 +1,7 @@
package me.shedaniel.rei.plugin;
import com.mojang.blaze3d.platform.GlStateManager;
+import me.shedaniel.rei.api.DisplaySettings;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.gui.widget.ItemSlotWidget;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
@@ -55,4 +56,24 @@ public class DefaultStoneCuttingCategory implements RecipeCategory<DefaultStoneC
return widgets;
}
+ @Override
+ public DisplaySettings getDisplaySettings() {
+ return new DisplaySettings<DefaultStoneCuttingDisplay>() {
+ @Override
+ public int getDisplayHeight(RecipeCategory category) {
+ return 36;
+ }
+
+ @Override
+ public int getDisplayWidth(RecipeCategory category, DefaultStoneCuttingDisplay display) {
+ return 150;
+ }
+
+ @Override
+ public int getMaximumRecipePerPage(RecipeCategory category) {
+ return 99;
+ }
+ };
+ }
+
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
index f0b84152a..cef526216 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
@@ -8,10 +8,10 @@ import net.minecraft.recipe.StonecuttingRecipe;
import net.minecraft.util.DefaultedList;
import net.minecraft.util.Identifier;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRecipe> {
@@ -25,8 +25,8 @@ public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRec
public DefaultStoneCuttingDisplay(DefaultedList<Ingredient> ingredients, ItemStack output) {
this.inputs = Lists.newArrayList();
- ingredients.stream().map(ingredient -> ingredient.getStackArray()).forEach(itemStacks -> Collections.addAll(inputs, itemStacks));
- this.output = Arrays.asList(output);
+ ingredients.stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()).forEach(inputs::addAll);
+ this.output = Collections.singletonList(output);
}
@Override
@@ -36,7 +36,7 @@ public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRec
@Override
public List<List<ItemStack>> getInput() {
- return Arrays.asList(inputs);
+ return Collections.singletonList(inputs);
}
@Override