Skip to content

Commit bcef287

Browse files
authored
Fix Permutations for Information Handler (GTNewHorizons#804)
1 parent 7f555f7 commit bcef287

4 files changed

Lines changed: 21 additions & 20 deletions

File tree

src/main/java/codechicken/nei/ItemsTooltipLineHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ public ItemsTooltipLineHandler(String label, List<ItemStack> items, boolean save
7070
}
7171

7272
public void setActiveStack(ItemStack activeStack) {
73-
final ItemStack realStack = items.stream()
74-
.filter(stack -> NEIClientUtils.areStacksSameTypeWithNBT(stack, activeStack)).findFirst().orElse(null);
73+
final ItemStack realStack = items.stream().filter(stack -> NEIClientUtils.areStacksSameType(stack, activeStack))
74+
.findFirst().orElse(null);
7575
this.activeStackIndex = items.indexOf(realStack);
7676
}
7777

src/main/java/codechicken/nei/PositionedStack.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ private List<ItemStack> filteringPermutations(List<ItemStack> items, ItemFilter
117117
public int getPermutationIndex(ItemStack stack) {
118118

119119
for (int index = 0; index < this.items.length; index++) {
120-
if (NEIServerUtils.areStacksSameTypeCraftingWithNBT(items[index], stack)) {
120+
if (NEIServerUtils.areStacksSameType(items[index], stack)) {
121121
return index;
122122
}
123123
}

src/main/java/codechicken/nei/recipe/GuiRecipeCatalyst.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,6 @@ protected void createWidgets() {
134134
int index = 0;
135135

136136
for (PositionedStack pStack : this.items) {
137-
138-
if (pStack.items.length > 1) {
139-
final int stackIndex = (pStack.items.length + pStack.getPermutationIndex(pStack.item) + 1)
140-
% pStack.items.length;
141-
pStack.setPermutationToRender(stackIndex);
142-
}
143-
144137
pStack.relx = visibleWidth - SLOT_SIZE - (index / rows) * SLOT_SIZE;
145138
pStack.rely = (index % rows) * SLOT_SIZE;
146139
index++;

src/main/java/codechicken/nei/recipe/InformationHandler.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,12 @@ public static void populateStacks(ItemStack stack) {
3434

3535
@Override
3636
public void drawExtras(int recipe) {
37-
CachedInfoPage page = (CachedInfoPage) this.arecipes.get(recipe);
38-
drawWrappedText(StatCollector.translateToLocal(page.getPage().info).replace("\\n", "\n"), 4, 24);
37+
final CachedInfoPage page = (CachedInfoPage) this.arecipes.get(recipe);
38+
drawWrappedText(page.getLines(), 4, 24);
3939
}
4040

41-
private void drawWrappedText(String text, int x, int y) {
42-
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
43-
List<String> lines = font.listFormattedStringToWidth(text, 156);
41+
private void drawWrappedText(List<String> lines, int x, int y) {
42+
final FontRenderer font = Minecraft.getMinecraft().fontRenderer;
4443
for (String line : lines) {
4544
font.drawString(line, x, y, 0);
4645
y += 10;
@@ -82,14 +81,23 @@ public String getGuiTexture() {
8281
return "nei:textures/gui/recipebg.png";
8382
}
8483

84+
@Override
85+
public int getRecipeHeight(int recipe) {
86+
final CachedInfoPage page = (CachedInfoPage) this.arecipes.get(recipe);
87+
return 24 + page.getLines().size() * 10;
88+
}
89+
8590
private class CachedInfoPage extends CachedRecipe {
8691

87-
private final InformationPage page;
8892
private final PositionedStack stack;
93+
private final List<String> lines;
8994

9095
public CachedInfoPage(InformationPage page) {
91-
this.page = page;
92-
stack = new PositionedStack(page.items, 75, 2);
96+
final FontRenderer font = Minecraft.getMinecraft().fontRenderer;
97+
final String info = StatCollector.translateToLocal(page.info).replace("\\n", "\n");
98+
99+
this.lines = font.listFormattedStringToWidth(info, 156);
100+
this.stack = new PositionedStack(page.items, 75, 2);
93101
}
94102

95103
@Override
@@ -102,8 +110,8 @@ public List<PositionedStack> getIngredients() {
102110
return Collections.singletonList(this.stack);
103111
}
104112

105-
public InformationPage getPage() {
106-
return page;
113+
public List<String> getLines() {
114+
return lines;
107115
}
108116
}
109117

0 commit comments

Comments
 (0)