diff --git a/src/main/java/codechicken/nei/ItemPanel.java b/src/main/java/codechicken/nei/ItemPanel.java index b5395dc82..58d3cb91e 100644 --- a/src/main/java/codechicken/nei/ItemPanel.java +++ b/src/main/java/codechicken/nei/ItemPanel.java @@ -12,6 +12,7 @@ import net.minecraft.client.gui.inventory.GuiContainerCreative; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidContainerItem; @@ -472,9 +473,9 @@ protected boolean handleSearchInputClick(int mouseX, int mouseY, int button) final FluidStack fluidStack = StackInfo.getFluid(draggedStack); if (fluidStack != null) { - searchField.setText(SPECIAL_REGEX_CHARS.matcher(fluidStack.getLocalizedName()).replaceAll("\\\\$0")); + searchField.setText(SPECIAL_REGEX_CHARS.matcher(EnumChatFormatting.getTextWithoutFormattingCodes(fluidStack.getLocalizedName())).replaceAll("\\\\$0")); } else { - searchField.setText(SPECIAL_REGEX_CHARS.matcher(draggedStack.getDisplayName()).replaceAll("\\\\$0")); + searchField.setText(SPECIAL_REGEX_CHARS.matcher(EnumChatFormatting.getTextWithoutFormattingCodes(draggedStack.getDisplayName())).replaceAll("\\\\$0")); } return true; diff --git a/src/main/java/codechicken/nei/ItemsGrid.java b/src/main/java/codechicken/nei/ItemsGrid.java index 7a6c2bb54..abd55d302 100644 --- a/src/main/java/codechicken/nei/ItemsGrid.java +++ b/src/main/java/codechicken/nei/ItemsGrid.java @@ -91,18 +91,14 @@ public int getColumns() public void setGridSize(int mleft, int mtop, int w, int h) { - //I don't like this big condition - if (marginLeft != mleft || marginTop != mtop || width != w || height != h) { + marginLeft = mleft; + marginTop = mtop; - marginLeft = mleft; - marginTop = mtop; + width = Math.max(0, w); + height = Math.max(0, h); - width = Math.max(0, w); - height = Math.max(0, h); - - columns = width / SLOT_SIZE; - rows = height / SLOT_SIZE; - } + columns = width / SLOT_SIZE; + rows = height / SLOT_SIZE; } diff --git a/src/main/java/codechicken/nei/LayoutManager.java b/src/main/java/codechicken/nei/LayoutManager.java index 771b7fb82..249bc8a10 100644 --- a/src/main/java/codechicken/nei/LayoutManager.java +++ b/src/main/java/codechicken/nei/LayoutManager.java @@ -316,6 +316,12 @@ public static void layout(GuiContainer gui) { if (gui.height - gui.ySize <= 40) visiblity.showSearchSection = false; + if (visiblity.showBookmarkPanel || gui.guiTop <= 20) + visiblity.showSubsetDropdown = false; + + if (!visiblity.showBookmarkPanel || gui.guiTop <= 20) + visiblity.showPresetsDropdown = false; + if (gui.guiLeft - 4 < 76) visiblity.showWidgets = false; try { @@ -690,7 +696,9 @@ public static void updateWidgetVisiblities(GuiContainer gui, VisiblityData visib if (visiblity.showBookmarkPanel) { addWidget(bookmarkPanel); bookmarkPanel.setVisible(); + } + if (visiblity.showPresetsDropdown) { addWidget(presetsPanel); } @@ -717,7 +725,7 @@ public static void updateWidgetVisiblities(GuiContainer gui, VisiblityData visib addWidget(delete); } - if (!visiblity.showBookmarkPanel) { + if (visiblity.showSubsetDropdown) { // Bookmarks or Subset/dropdown addWidget(dropDown); } diff --git a/src/main/java/codechicken/nei/VisiblityData.java b/src/main/java/codechicken/nei/VisiblityData.java index 30cacda19..5892535cf 100644 --- a/src/main/java/codechicken/nei/VisiblityData.java +++ b/src/main/java/codechicken/nei/VisiblityData.java @@ -11,6 +11,14 @@ public class VisiblityData * Bookmark panel and associated buttons */ public boolean showBookmarkPanel = true; + /** + * Subset dropdown + */ + public boolean showSubsetDropdown = true; + /** + * Presets dropdown + */ + public boolean showPresetsDropdown = true; /** * Item and search section */ @@ -40,6 +48,6 @@ public void translateDependancies() if(!showWidgets) showItemSection = showUtilityButtons = false; if(!showItemSection) - showBookmarkPanel = showSearchSection = showItemPanel = false; + showBookmarkPanel = showSubsetDropdown = showPresetsDropdown = showSearchSection = showItemPanel = false; } }