Allow creative tabs to have a search box if they want to Closes #592
This commit is contained in:
parent
d304f40295
commit
ffd4d4afc3
2 changed files with 69 additions and 11 deletions
|
@ -32,7 +32,46 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -413,7 +422,7 @@
|
@@ -306,7 +315,7 @@
|
||||||
|
*/
|
||||||
|
protected void keyTyped(char par1, int par2)
|
||||||
|
{
|
||||||
|
- if (selectedTabIndex != CreativeTabs.tabAllSearch.getTabIndex())
|
||||||
|
+ if (CreativeTabs.creativeTabArray[selectedTabIndex].hasSearchBar())
|
||||||
|
{
|
||||||
|
if (GameSettings.isKeyDown(this.mc.gameSettings.keyBindChat))
|
||||||
|
{
|
||||||
|
@@ -343,6 +352,15 @@
|
||||||
|
{
|
||||||
|
ContainerCreative containercreative = (ContainerCreative)this.inventorySlots;
|
||||||
|
containercreative.itemList.clear();
|
||||||
|
+
|
||||||
|
+ CreativeTabs tab = CreativeTabs.creativeTabArray[selectedTabIndex];
|
||||||
|
+ if (tab.hasSearchBar() && tab != CreativeTabs.tabAllSearch)
|
||||||
|
+ {
|
||||||
|
+ tab.displayAllReleventItems(containercreative.itemList);
|
||||||
|
+ updateFilteredItems(containercreative);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
Item[] aitem = Item.itemsList;
|
||||||
|
int i = aitem.length;
|
||||||
|
int j;
|
||||||
|
@@ -369,7 +387,12 @@
|
||||||
|
Item.enchantedBook.func_92113_a(enchantment, containercreative.itemList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ updateFilteredItems(containercreative);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ //split from above for custom search tabs
|
||||||
|
+ private void updateFilteredItems(ContainerCreative containercreative)
|
||||||
|
+ {
|
||||||
|
Iterator iterator = containercreative.itemList.iterator();
|
||||||
|
String s = this.searchField.getText().toLowerCase();
|
||||||
|
|
||||||
|
@@ -413,7 +436,7 @@
|
||||||
{
|
{
|
||||||
CreativeTabs creativetabs = CreativeTabs.creativeTabArray[selectedTabIndex];
|
CreativeTabs creativetabs = CreativeTabs.creativeTabArray[selectedTabIndex];
|
||||||
|
|
||||||
|
@ -41,7 +80,7 @@
|
||||||
{
|
{
|
||||||
this.fontRenderer.drawString(I18n.func_135053_a(creativetabs.getTranslatedTabLabel()), 8, 6, 4210752);
|
this.fontRenderer.drawString(I18n.func_135053_a(creativetabs.getTranslatedTabLabel()), 8, 6, 4210752);
|
||||||
}
|
}
|
||||||
@@ -462,7 +471,7 @@
|
@@ -462,7 +485,7 @@
|
||||||
{
|
{
|
||||||
CreativeTabs creativetabs = acreativetabs[k1];
|
CreativeTabs creativetabs = acreativetabs[k1];
|
||||||
|
|
||||||
|
@ -50,7 +89,7 @@
|
||||||
{
|
{
|
||||||
this.setCurrentCreativeTab(creativetabs);
|
this.setCurrentCreativeTab(creativetabs);
|
||||||
return;
|
return;
|
||||||
@@ -478,11 +487,17 @@
|
@@ -478,11 +501,17 @@
|
||||||
*/
|
*/
|
||||||
private boolean needsScrollBars()
|
private boolean needsScrollBars()
|
||||||
{
|
{
|
||||||
|
@ -68,7 +107,16 @@
|
||||||
int i = selectedTabIndex;
|
int i = selectedTabIndex;
|
||||||
selectedTabIndex = par1CreativeTabs.getTabIndex();
|
selectedTabIndex = par1CreativeTabs.getTabIndex();
|
||||||
ContainerCreative containercreative = (ContainerCreative)this.inventorySlots;
|
ContainerCreative containercreative = (ContainerCreative)this.inventorySlots;
|
||||||
@@ -653,21 +668,42 @@
|
@@ -551,7 +580,7 @@
|
||||||
|
|
||||||
|
if (this.searchField != null)
|
||||||
|
{
|
||||||
|
- if (par1CreativeTabs == CreativeTabs.tabAllSearch)
|
||||||
|
+ if (par1CreativeTabs.hasSearchBar())
|
||||||
|
{
|
||||||
|
this.searchField.setVisible(true);
|
||||||
|
this.searchField.setCanLoseFocus(false);
|
||||||
|
@@ -653,21 +682,42 @@
|
||||||
|
|
||||||
super.drawScreen(par1, par2, par3);
|
super.drawScreen(par1, par2, par3);
|
||||||
CreativeTabs[] acreativetabs = CreativeTabs.creativeTabArray;
|
CreativeTabs[] acreativetabs = CreativeTabs.creativeTabArray;
|
||||||
|
@ -116,7 +164,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
@@ -741,14 +777,32 @@
|
@@ -741,14 +791,32 @@
|
||||||
int k = acreativetabs.length;
|
int k = acreativetabs.length;
|
||||||
int l;
|
int l;
|
||||||
|
|
||||||
|
@ -151,7 +199,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -766,6 +820,14 @@
|
@@ -766,6 +834,14 @@
|
||||||
this.drawTexturedModalRect(i1, k + (int)((float)(l - k - 17) * this.currentScroll), 232 + (this.needsScrollBars() ? 0 : 12), 0, 12, 15);
|
this.drawTexturedModalRect(i1, k + (int)((float)(l - k - 17) * this.currentScroll), 232 + (this.needsScrollBars() ? 0 : 12), 0, 12, 15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +214,7 @@
|
||||||
this.renderCreativeTab(creativetabs);
|
this.renderCreativeTab(creativetabs);
|
||||||
|
|
||||||
if (creativetabs == CreativeTabs.tabInventory)
|
if (creativetabs == CreativeTabs.tabInventory)
|
||||||
@@ -776,6 +838,15 @@
|
@@ -776,6 +852,15 @@
|
||||||
|
|
||||||
protected boolean func_74232_a(CreativeTabs par1CreativeTabs, int par2, int par3)
|
protected boolean func_74232_a(CreativeTabs par1CreativeTabs, int par2, int par3)
|
||||||
{
|
{
|
||||||
|
@ -182,7 +230,7 @@
|
||||||
int k = par1CreativeTabs.getTabColumn();
|
int k = par1CreativeTabs.getTabColumn();
|
||||||
int l = 28 * k;
|
int l = 28 * k;
|
||||||
byte b0 = 0;
|
byte b0 = 0;
|
||||||
@@ -883,6 +954,7 @@
|
@@ -883,6 +968,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
@ -190,7 +238,7 @@
|
||||||
this.drawTexturedModalRect(l, i1, j, k, 28, b0);
|
this.drawTexturedModalRect(l, i1, j, k, 28, b0);
|
||||||
this.zLevel = 100.0F;
|
this.zLevel = 100.0F;
|
||||||
itemRenderer.zLevel = 100.0F;
|
itemRenderer.zLevel = 100.0F;
|
||||||
@@ -890,7 +962,7 @@
|
@@ -890,7 +976,7 @@
|
||||||
i1 += 8 + (flag1 ? 1 : -1);
|
i1 += 8 + (flag1 ? 1 : -1);
|
||||||
GL11.glEnable(GL11.GL_LIGHTING);
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||||
|
@ -199,7 +247,7 @@
|
||||||
itemRenderer.renderItemAndEffectIntoGUI(this.fontRenderer, this.mc.func_110434_K(), itemstack, l, i1);
|
itemRenderer.renderItemAndEffectIntoGUI(this.fontRenderer, this.mc.func_110434_K(), itemstack, l, i1);
|
||||||
itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.func_110434_K(), itemstack, l, i1);
|
itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.func_110434_K(), itemstack, l, i1);
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
@@ -912,6 +984,15 @@
|
@@ -912,6 +998,15 @@
|
||||||
{
|
{
|
||||||
this.mc.displayGuiScreen(new GuiStats(this, this.mc.statFileWriter));
|
this.mc.displayGuiScreen(new GuiStats(this, this.mc.statFileWriter));
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,4 +263,26 @@
|
@@ -232,4 +263,36 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -99,5 +99,15 @@
|
||||||
+ public ItemStack getIconItemStack()
|
+ public ItemStack getIconItemStack()
|
||||||
+ {
|
+ {
|
||||||
+ return new ItemStack(getTabIconItem());
|
+ return new ItemStack(getTabIconItem());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Determines if the search bar should be shown for this tab.
|
||||||
|
+ *
|
||||||
|
+ * @return True to show the bar
|
||||||
|
+ */
|
||||||
|
+ public boolean hasSearchBar()
|
||||||
|
+ {
|
||||||
|
+ return tabIndex == CreativeTabs.tabAllSearch.tabIndex;
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue