Skip to content

Commit ee060b9

Browse files
slprimeslprime
andauthored
Small Fixes (#536)
* Small Fixes * fix shift+v * fix subset zindex --------- Co-authored-by: slprime <history-21@yandex.ru>
1 parent 82a2273 commit ee060b9

File tree

5 files changed

+45
-13
lines changed

5 files changed

+45
-13
lines changed

src/main/java/codechicken/nei/BookmarkPanel.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,12 @@ public void setStartRowIndex(BookmarkGrid BGrid, int rowIndex) {
130130
}
131131

132132
public void setEndRowIndex(BookmarkGrid BGrid, int rowIndex) {
133-
this.endRowIndex = rowIndex;
134-
this.endItemIndexTop = getTopItemIndex(BGrid, rowIndex);
135-
this.endItemIndexBottom = getBottomItemIndex(BGrid, rowIndex);
133+
134+
if (BGrid.getRowItemIndex(rowIndex, true) >= 0) {
135+
this.endRowIndex = rowIndex;
136+
this.endItemIndexTop = getTopItemIndex(BGrid, rowIndex);
137+
this.endItemIndexBottom = getBottomItemIndex(BGrid, rowIndex);
138+
}
136139
}
137140

138141
public boolean hasEndRow() {
@@ -226,12 +229,12 @@ public boolean equalsRecipe(BookmarkRecipeId recipeId, int groupId) {
226229
}
227230
}
228231

229-
public static enum BookmarkViewMode {
232+
public enum BookmarkViewMode {
230233
DEFAULT,
231234
TODO_LIST
232235
}
233236

234-
public static enum BookmarkLoadingState {
237+
public enum BookmarkLoadingState {
235238
LOADING,
236239
LOADED
237240
}
@@ -2726,8 +2729,9 @@ private ItemStack shiftStackSize(BookmarkGrid BGrid, int slotIndex, int shift, i
27262729
}
27272730

27282731
public boolean pullBookmarkItems(int groupId, boolean onlyIngredients) {
2729-
IBookmarkContainerHandler containerHandler = BookmarkContainerInfo
2730-
.getBookmarkContainerHandler(getGuiContainer());
2732+
final GuiContainer guiContainer = getGuiContainer();
2733+
final IBookmarkContainerHandler containerHandler = BookmarkContainerInfo
2734+
.getBookmarkContainerHandler(guiContainer);
27312735

27322736
if (containerHandler == null) {
27332737
return false;
@@ -2736,14 +2740,14 @@ public boolean pullBookmarkItems(int groupId, boolean onlyIngredients) {
27362740
final BookmarkGrid BGrid = (BookmarkGrid) grid;
27372741
final ArrayList<ItemStack> items = new ArrayList<>();
27382742
final ItemStackMap<Long> uniqueItems = new ItemStackMap<>();
2739-
final BookmarkGroup group = groupId >= 0 ? BGrid.groups.get(groupId) : null;
27402743
ItemStackMetadata meta;
27412744

27422745
for (int idx = 0; idx < BGrid.realItems.size(); idx++) {
27432746
meta = BGrid.metadata.get(idx);
27442747

27452748
if (groupId == -1 || groupId == meta.groupId) {
27462749
final ItemStack stack = BGrid.getItem(idx);
2750+
final BookmarkGroup group = BGrid.groups.get(meta.groupId);
27472751

27482752
if (!onlyIngredients || meta.ingredient && (group == null || group.crafting == null
27492753
|| group.crafting.inputs.containsKey(BGrid.realItems.get(idx)))) {
@@ -2768,7 +2772,7 @@ public boolean pullBookmarkItems(int groupId, boolean onlyIngredients) {
27682772
return false;
27692773
}
27702774

2771-
containerHandler.pullBookmarkItemsFromContainer(getGuiContainer(), items);
2775+
containerHandler.pullBookmarkItemsFromContainer(guiContainer, items);
27722776
return true;
27732777
}
27742778
}

src/main/java/codechicken/nei/ItemZoom.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ public void draw(int mx, int my) {
6161

6262
GL11.glPopMatrix();
6363

64+
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
65+
GuiContainerManager.enable2DRender();
66+
6467
if (NEIClientConfig.getBooleanSetting("inventory.itemzoom.showName")) {
6568
String dispalyName = NEIClientUtils.cropText(fontRenderer, this.displayName, this.availableAreaWidth);
6669
drawStringC(
@@ -90,6 +93,7 @@ public void draw(int mx, int my) {
9093
}
9194
}
9295

96+
GL11.glPopAttrib();
9397
}
9498
}
9599

src/main/java/codechicken/nei/PresetsList.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
public class PresetsList {
3434

35-
public static enum PresetMode {
35+
public enum PresetMode {
3636
HIDE,
3737
REMOVE,
3838
GROUP;

src/main/java/codechicken/nei/SearchTokenParser.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import net.minecraft.client.Minecraft;
1313
import net.minecraft.client.resources.Language;
14+
import net.minecraft.item.ItemStack;
1415
import net.minecraft.util.EnumChatFormatting;
1516

1617
import codechicken.nei.ItemList.AllMultiItemFilter;
@@ -69,6 +70,22 @@ public void clear() {
6970
}
7071
}
7172

73+
private static class IsRegisteredItemFilter implements ItemFilter {
74+
75+
public ItemFilter filter;
76+
77+
public IsRegisteredItemFilter(ItemFilter filter) {
78+
this.filter = filter;
79+
}
80+
81+
@Override
82+
public boolean matches(ItemStack item) {
83+
return item != null && item.getItem() != null
84+
&& item.getItem().delegate.name() != null
85+
&& this.filter.matches(item);
86+
}
87+
}
88+
7289
protected final List<ISearchParserProvider> searchProviders;
7390
protected final ProvidersCache providersCache = new ProvidersCache();
7491
protected final TCharCharMap prefixRedefinitions = new TCharCharHashMap();
@@ -118,15 +135,15 @@ && getRedefinedPrefix(provider.getPrefix()) == ch)
118135

119136
public ItemFilter getFilter(String filterText) {
120137
final String[] parts = EnumChatFormatting.getTextWithoutFormattingCodes(filterText).toLowerCase().split("\\|");
121-
final List<ItemFilter> searchTokens = Arrays.stream(parts).map(s -> parseSearchText(s)).filter(s -> s != null)
138+
final List<ItemFilter> searchTokens = Arrays.stream(parts).map(this::parseSearchText).filter(s -> s != null)
122139
.collect(Collectors.toCollection(ArrayList::new));
123140

124141
if (searchTokens.isEmpty()) {
125142
return new EverythingItemFilter();
126143
} else if (searchTokens.size() == 1) {
127-
return searchTokens.get(0);
144+
return new IsRegisteredItemFilter(searchTokens.get(0));
128145
} else {
129-
return new AnyMultiItemFilter(searchTokens);
146+
return new IsRegisteredItemFilter(new AnyMultiItemFilter(searchTokens));
130147
}
131148
}
132149

src/main/java/codechicken/nei/SubsetWidget.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import net.minecraft.nbt.NBTTagList;
2323
import net.minecraft.util.EnumChatFormatting;
2424

25+
import org.lwjgl.opengl.GL11;
26+
2527
import codechicken.core.gui.GuiScrollSlot;
2628
import codechicken.lib.gui.GuiDraw;
2729
import codechicken.lib.vec.Rectangle4i;
@@ -711,9 +713,14 @@ public void draw(int mx, int my) {
711713

712714
hoverStack = null;
713715
if (root.isVisible()) {
716+
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
717+
GuiContainerManager.enable2DRender();
718+
714719
root.resize(area.x, 0, area.y);
715720
root.cacheState();
716721
root.draw(mx, my);
722+
723+
GL11.glPopAttrib();
717724
}
718725
}
719726

0 commit comments

Comments
 (0)