aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-08-06 18:46:44 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-08-06 18:46:44 +0800
commita29d1ad0cae8f8ccb375b5b8af7d4b86e6d8eb39 (patch)
treef0aeab937c05144ff48696eb5b900552e9f3c27e /src/main/java/me
parent49ae61c2165eb478f7a56e387115344c9aac0578 (diff)
downloadRoughlyEnoughItems-a29d1ad0cae8f8ccb375b5b8af7d4b86e6d8eb39.tar.gz
RoughlyEnoughItems-a29d1ad0cae8f8ccb375b5b8af7d4b86e6d8eb39.tar.bz2
RoughlyEnoughItems-a29d1ad0cae8f8ccb375b5b8af7d4b86e6d8eb39.zip
6x faster craftable combinding filter
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/shedaniel/rei/api/Renderer.java46
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java18
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java18
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java6
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java12
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java54
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java6
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java6
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java1
17 files changed, 119 insertions, 76 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/Renderer.java b/src/main/java/me/shedaniel/rei/api/Renderer.java
index cbedb6ccf..87c3ef174 100644
--- a/src/main/java/me/shedaniel/rei/api/Renderer.java
+++ b/src/main/java/me/shedaniel/rei/api/Renderer.java
@@ -32,6 +32,26 @@ public abstract class Renderer extends DrawableHelper {
}
/**
+ * Gets an item stack renderer by an item stack supplier
+ *
+ * @param supplier the supplier for getting the item stack
+ * @return the item stack renderer
+ */
+ public static ItemStackRenderer fromItemStackSupplierNoCounts(Supplier<ItemStack> supplier) {
+ return new ItemStackRenderer() {
+ @Override
+ public ItemStack getItemStack() {
+ return supplier.get();
+ }
+
+ @Override
+ protected boolean renderCounts() {
+ return false;
+ }
+ };
+ }
+
+ /**
* Gets an item stack renderer by an item stack
*
* @param stack the item stack to be displayed
@@ -42,6 +62,16 @@ public abstract class Renderer extends DrawableHelper {
}
/**
+ * Gets an item stack renderer by an item stack
+ *
+ * @param stack the item stack to be displayed
+ * @return the item stack renderer
+ */
+ public static ItemStackRenderer fromItemStackNoCounts(ItemStack stack) {
+ return fromItemStackSupplierNoCounts(() -> stack);
+ }
+
+ /**
* Gets an empty renderer
*
* @return an empty renderer
@@ -72,6 +102,22 @@ public abstract class Renderer extends DrawableHelper {
};
}
+ public static ItemStackRenderer fromItemStacksNoCounts(List<ItemStack> stacks) {
+ return new ItemStackRenderer() {
+ @Override
+ public ItemStack getItemStack() {
+ if (stacks.isEmpty())
+ return ItemStack.EMPTY;
+ return stacks.get(MathHelper.floor((System.currentTimeMillis() / 500 % (double) stacks.size()) / 1f));
+ }
+
+ @Override
+ protected boolean renderCounts() {
+ return false;
+ }
+ };
+ }
+
/**
* Gets the current blit offset
*
diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
index 5ed94de21..a34006240 100644
--- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
@@ -299,7 +299,7 @@ public class RecipeViewingScreen extends Screen {
List<String> list = Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("text.rei.working_station"));
xx += (innerWidth - 1) * 18;
for (List<ItemStack> workingStation : workingStations) {
- preWidgets.add(new SlotWidget(xx, yy, workingStation, true, true, true) {
+ preWidgets.add(new SlotWidget(xx, yy, Renderer.fromItemStacks(workingStation), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return list;
diff --git a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
index 07a9c96d4..a9707f9f6 100644
--- a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
@@ -107,7 +107,7 @@ public class VillagerRecipeViewingScreen extends Screen {
int index = 0;
List<String> list = Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("text.rei.working_station"));
for (List<ItemStack> workingStation : workingStations) {
- widgets.add(new SlotWidget(xx, yy, workingStation, true, true, true) {
+ widgets.add(new SlotWidget(xx, yy, Renderer.fromItemStacks(workingStation), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return list;
diff --git a/src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java
index f5c9faa0d..18e41ad07 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/EmptyRenderer.java
@@ -17,7 +17,7 @@ public class EmptyRenderer extends Renderer {
@Override
public void render(int x, int y, double mouseX, double mouseY, float delta) {
-
+
}
}
diff --git a/src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java
index 8fb3f65a8..ea39ebcec 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/ItemStackRenderer.java
@@ -38,7 +38,7 @@ public abstract class ItemStackRenderer extends Renderer {
GlStateManager.enableRescaleNormal();
GlStateManager.enableDepthTest();
itemRenderer.renderGuiItem(getItemStack(), l, i1);
- itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, getItemStack(), l, i1);
+ itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, getItemStack(), l, i1, renderCounts() ? null : "");
itemRenderer.zOffset = 0.0F;
this.blitOffset = 0;
if (drawTooltip && mouseX >= x - 8 && mouseX <= x + 8 && mouseY >= y - 6 && mouseY <= y + 10)
@@ -50,6 +50,10 @@ public abstract class ItemStackRenderer extends Renderer {
ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltip(itemStack)));
}
+ protected boolean renderCounts() {
+ return true;
+ }
+
protected List<String> getTooltip(ItemStack itemStack) {
final String modString = ClientHelper.getInstance().getFormattedModFromItem(itemStack.getItem());
List<String> toolTip = Lists.newArrayList(ItemListOverlay.tryGetItemStackToolTip(itemStack, true));
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
index 81a5b3a09..e81a945cf 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
@@ -11,6 +11,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.DisplayHelper;
import me.shedaniel.rei.api.RecipeHelper;
+import me.shedaniel.rei.api.Renderer;
import me.shedaniel.rei.client.ScreenHelper;
import me.shedaniel.rei.client.SearchArgument;
import me.shedaniel.rei.gui.config.ItemCheatingMode;
@@ -176,7 +177,7 @@ public class ItemListOverlay extends Widget {
j++;
if (j > currentDisplayed.size())
break;
- widgets.add(new SlotWidget(x, y, Collections.singletonList(currentDisplayed.get(j - 1)), false, true, true) {
+ widgets.add(new SlotWidget(x, y, Renderer.fromItemStackNoCounts(currentDisplayed.get(j - 1)), false, true, true) {
@Override
protected void queueTooltip(ItemStack itemStack, float delta) {
ClientPlayerEntity player = minecraft.player;
@@ -286,13 +287,18 @@ public class ItemListOverlay extends Widget {
});
List<ItemStack> stacks = Collections.emptyList();
if (lastSearchArgument.isEmpty())
- stacks = Collections.unmodifiableList(os);
+ stacks = os;
else
- stacks = Collections.unmodifiableList(os.stream().filter(itemStack -> filterItem(itemStack, lastSearchArgument)).collect(Collectors.toList()));
+ stacks = os.stream().filter(itemStack -> filterItem(itemStack, lastSearchArgument)).collect(Collectors.toList());
if (!RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() || stacks.isEmpty() || inventoryItems.isEmpty())
- return stacks;
- List<ItemStack> workingItems = Lists.newArrayList(RecipeHelper.getInstance().findCraftableByItems(inventoryItems));
- return stacks.stream().filter(itemStack -> workingItems.stream().anyMatch(stack -> stack.isItemEqualIgnoreDamage(itemStack))).collect(Collectors.toList());
+ return Collections.unmodifiableList(stacks);
+ List<ItemStack> workingItems = RecipeHelper.getInstance().findCraftableByItems(inventoryItems);
+ List<ItemStack> newList = Lists.newArrayList();
+ for (ItemStack workingItem : workingItems) {
+ if (stacks.stream().anyMatch(i -> i.isItemEqualIgnoreDamage(workingItem)))
+ newList.add(workingItem);
+ }
+ return newList;
}
public List<SearchArgument[]> getLastSearchArgument() {
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
index 1264b7aad..de573f3b2 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
@@ -18,8 +18,10 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
import java.awt.*;
+import java.util.Collections;
+import java.util.LinkedList;
import java.util.List;
-import java.util.*;
+import java.util.Locale;
import java.util.stream.Collectors;
public class SlotWidget extends WidgetWithBounds {
@@ -30,12 +32,12 @@ public class SlotWidget extends WidgetWithBounds {
private List<Renderer> renderers = new LinkedList<>();
private boolean drawBackground, showToolTips, clickToMoreRecipes, drawHighlightedBackground;
- public SlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips) {
- this(x, y, Collections.singletonList(itemStack), drawBackground, showToolTips);
+ public SlotWidget(int x, int y, Renderer renderer, boolean drawBackground, boolean showToolTips) {
+ this(x, y, Collections.singletonList(renderer), drawBackground, showToolTips);
}
- public SlotWidget(int x, int y, Collection<ItemStack> itemList, boolean drawBackground, boolean showToolTips) {
- this(x, y, itemList.stream().map(Renderer::fromItemStack).collect(Collectors.toList()), drawBackground, showToolTips);
+ public SlotWidget(int x, int y, Renderer renderer, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) {
+ this(x, y, Collections.singletonList(renderer), drawBackground, showToolTips, clickToMoreRecipes);
}
public SlotWidget(int x, int y, List<Renderer> renderers, boolean drawBackground, boolean showToolTips) {
@@ -48,7 +50,7 @@ public class SlotWidget extends WidgetWithBounds {
this.drawHighlightedBackground = true;
}
- public SlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) {
+ public SlotWidget(int x, int y, List<Renderer> itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) {
this(x, y, itemList, drawBackground, showToolTips);
this.clickToMoreRecipes = clickToMoreRecipes;
}
@@ -164,10 +166,6 @@ public class SlotWidget extends WidgetWithBounds {
return Collections.emptyList();
}
- protected String getItemCountOverlay(ItemStack currentStack) {
- return "";
- }
-
public ItemStack getCurrentItemStack() {
if (getCurrentRenderer() instanceof ItemStackRenderer)
return ((ItemStackRenderer) getCurrentRenderer()).getItemStack();
diff --git a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java
index 4f3b586e5..f0478d10c 100644
--- a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingCategory.java
@@ -70,14 +70,14 @@ public class DefaultBlastingCategory implements RecipeCategory<DefaultBlastingDi
}
}));
List<List<ItemStack>> input = recipeDisplay.getInput();
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, input.get(0), true, true, true));
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplay.getFuel(), true, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, Renderer.fromItemStacks(input.get(0)), true, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, Renderer.fromItemStacks(recipeDisplay.getFuel()), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplay.getOutput(), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, Renderer.fromItemStacks(recipeDisplay.getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
index bb291f9bf..8bf823425 100644
--- a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
@@ -62,32 +62,32 @@ public class DefaultBrewingCategory implements RecipeCategory<DefaultBrewingDisp
blit(startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4);
}
}));
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, Arrays.asList(new ItemStack(Items.BLAZE_POWDER)), false, true, true));
- widgets.add(new SlotWidget(startPoint.x + 63, startPoint.y + 1, recipeDisplay.getInput().get(0), false, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, Renderer.fromItemStack(new ItemStack(Items.BLAZE_POWDER)), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 63, startPoint.y + 1, Renderer.fromItemStacks(recipeDisplay.getInput().get(0)), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.input"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 40, startPoint.y + 1, recipeDisplay.getInput().get(1), false, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 40, startPoint.y + 1, Renderer.fromItemStacks(recipeDisplay.getInput().get(1)), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.reactant"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 40, startPoint.y + 35, recipeDisplay.getOutput(0), false, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 40, startPoint.y + 35, Renderer.fromItemStacks(recipeDisplay.getOutput(0)), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.result"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 63, startPoint.y + 42, recipeDisplay.getOutput(1), false, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 63, startPoint.y + 42, Renderer.fromItemStacks(recipeDisplay.getOutput(1)), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.result"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 86, startPoint.y + 35, recipeDisplay.getOutput(2), false, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 86, startPoint.y + 35, Renderer.fromItemStacks(recipeDisplay.getOutput(2)), false, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.result"));
diff --git a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java
index c2c35da94..dc2777daa 100644
--- a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java
@@ -64,8 +64,8 @@ public class DefaultCampfireCategory implements RecipeCategory<DefaultCampfireDi
MinecraftClient.getInstance().textRenderer.draw(text, bounds.x + bounds.width - length - 5, startPoint.y + 54 - 8, ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);
}
}));
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 11, recipeDisplaySupplier.get().getInput().get(0), true, true, true));
- widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 11, Renderer.fromItemStacks(recipeDisplaySupplier.get().getInput().get(0)), true, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
index 5aa6635cc..6fab8014b 100644
--- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
@@ -78,7 +78,7 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti
int i = 0;
for (int y = 0; y < 6; y++)
for (int x = 0; x < 8; x++) {
- widgets.add(new SlotWidget((int) bounds.getCenterX() - 72 + x * 18, bounds.y + y * 18, stacks.size() > i ? Arrays.asList(stacks.get(i).asItem().getStackForRender()) : Lists.newArrayList(), true, true, true) {
+ widgets.add(new SlotWidget((int) bounds.getCenterX() - 72 + x * 18, bounds.y + y * 18, stacks.size() > i ? Renderer.fromItemStack(stacks.get(i).asItem().getStackForRender()) : Renderer.empty(), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
final List<String>[] thing = new List[]{null};
@@ -93,7 +93,7 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti
});
i++;
}
- widgets.add(new SlotWidget((int) startingPoint.x + 34, startingPoint.y + 5, recipeDisplaySupplier.get().getOutput(), false, true, true));
+ widgets.add(new SlotWidget((int) startingPoint.x + 34, startingPoint.y + 5, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java
index 031ddd8f1..29f9753f1 100644
--- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java
@@ -18,7 +18,6 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemStack;
-import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
import java.awt.*;
@@ -29,6 +28,27 @@ import java.util.function.Supplier;
public class DefaultCraftingCategory implements RecipeCategory<DefaultCraftingDisplay> {
+ public static int getSlotWithSize(DefaultCraftingDisplay recipeDisplay, int num) {
+ if (recipeDisplay.getWidth() == 1) {
+ if (num == 1)
+ return 3;
+ if (num == 2)
+ return 6;
+ }
+
+ if (recipeDisplay.getWidth() == 2) {
+ if (num == 2)
+ return 3;
+ if (num == 3)
+ return 4;
+ if (num == 4)
+ return 6;
+ if (num == 5)
+ return 7;
+ }
+ return num;
+ }
+
@Override
public Identifier getIdentifier() {
return DefaultPlugin.CRAFTING;
@@ -70,38 +90,8 @@ public class DefaultCraftingCategory implements RecipeCategory<DefaultCraftingDi
slots.get(i).setItemList(input.get(i));
}
widgets.addAll(slots);
- widgets.add(new SlotWidget(startPoint.x + 95, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true) {
- @Override
- protected String getItemCountOverlay(ItemStack currentStack) {
- if (currentStack.getCount() == 1)
- return "";
- if (currentStack.getCount() < 1)
- return Formatting.RED.toString() + currentStack.getCount();
- return currentStack.getCount() + "";
- }
- });
+ widgets.add(new SlotWidget(startPoint.x + 95, startPoint.y + 19, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
- public static int getSlotWithSize(DefaultCraftingDisplay recipeDisplay, int num) {
- if (recipeDisplay.getWidth() == 1) {
- if (num == 1)
- return 3;
- if (num == 2)
- return 6;
- }
-
- if (recipeDisplay.getWidth() == 2) {
- if (num == 2)
- return 3;
- if (num == 3)
- return 4;
- if (num == 4)
- return 6;
- if (num == 5)
- return 7;
- }
- return num;
- }
-
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java
index dcecf0418..5a0050c12 100644
--- a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingCategory.java
@@ -69,14 +69,14 @@ public class DefaultSmeltingCategory implements RecipeCategory<DefaultSmeltingDi
}
}));
List<List<ItemStack>> input = recipeDisplaySupplier.get().getInput();
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, input.get(0), true, true, true));
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplaySupplier.get().getFuel(), true, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, Renderer.fromItemStacks(input.get(0)), true, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, Renderer.fromItemStacks(recipeDisplaySupplier.get().getFuel()), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java b/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java
index cf02d0a61..862cd01ef 100644
--- a/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingCategory.java
@@ -69,14 +69,14 @@ public class DefaultSmokingCategory implements RecipeCategory<DefaultSmokingDisp
}
}));
List<List<ItemStack>> input = recipeDisplaySupplier.get().getInput();
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, input.get(0), true, true, true));
- widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplaySupplier.get().getFuel(), true, true, true) {
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 1, Renderer.fromItemStacks(input.get(0)), true, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, Renderer.fromItemStacks(recipeDisplaySupplier.get().getFuel()), true, true, true) {
@Override
protected List<String> getExtraToolTips(ItemStack stack) {
return Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel"));
}
});
- widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java
index d148e420e..ccd8689fb 100644
--- a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java
@@ -55,8 +55,8 @@ public class DefaultStoneCuttingCategory implements RecipeCategory<DefaultStoneC
blit(startPoint.x, startPoint.y, 0, 221, 82, 26);
}
}));
- widgets.add(new SlotWidget(startPoint.x + 4, startPoint.y + 5, recipeDisplaySupplier.get().getInput().get(0), true, true, true));
- widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 5, recipeDisplaySupplier.get().getOutput(), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 4, startPoint.y + 5, Renderer.fromItemStacks(recipeDisplaySupplier.get().getInput().get(0)), true, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 5, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java b/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java
index bac1d62ab..d0bfc297c 100644
--- a/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java
@@ -55,8 +55,8 @@ public class DefaultStrippingCategory implements RecipeCategory<DefaultStripping
blit(startPoint.x, startPoint.y, 0, 221, 82, 26);
}
}));
- widgets.add(new SlotWidget(startPoint.x + 4, startPoint.y + 5, recipeDisplaySupplier.get().getInput().get(0), true, true, true));
- widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 5, recipeDisplaySupplier.get().getOutput(), false, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 4, startPoint.y + 5, Renderer.fromItemStacks(recipeDisplaySupplier.get().getInput().get(0)), true, true, true));
+ widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 5, Renderer.fromItemStacks(recipeDisplaySupplier.get().getOutput()), false, true, true));
return widgets;
}
diff --git a/src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java b/src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java
index d621383a0..802e1b79a 100644
--- a/src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java
+++ b/src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java
@@ -21,7 +21,6 @@ import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
public class InputSlotCrafter<C extends Inventory> {