<commit_before>--- ../src_base/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java
+++ ../src_work/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java
@@ -55,6 +55,8 @@
     private Slot field_74235_v = null;
     private boolean field_74234_w = false;
     private CreativeCrafting field_82324_x;
+    private static int tabPage = 0;
+    private int maxPages = 0;
 
     public GuiContainerCreative(EntityPlayer par1EntityPlayer)
     {
@@ -229,6 +231,13 @@
             this.setCurrentCreativeTab(CreativeTabs.creativeTabArray[var1]);
             this.field_82324_x = new CreativeCrafting(this.mc);
             this.mc.thePlayer.inventoryContainer.addCraftingToCrafters(this.field_82324_x);
+            int tabCount = CreativeTabs.creativeTabArray.length;
+            if (tabCount > 12)
+            {
+                controlList.add(new GuiButton(101, guiLeft,              guiTop - 50, 20, 20, "<"));
+                controlList.add(new GuiButton(102, guiLeft + xSize - 20, guiTop - 50, 20, 20, ">"));
+                maxPages = ((tabCount - 12) / 10) + 1;
+            }
         }
         else
         {
@@ -363,7 +372,7 @@
     {
         CreativeTabs var3 = CreativeTabs.creativeTabArray[selectedTabIndex];
 
-        if (var3.drawInForegroundOfTab())
+        if (var3 != null && var3.drawInForegroundOfTab())
         {
             this.fontRenderer.drawString(var3.getTranslatedTabLabel(), 8, 6, 4210752);
         }
@@ -385,7 +394,7 @@
             {
                 CreativeTabs var9 = var6[var8];
 <commit_msg>Fixes comparison for items in creative inventory, closes #411<commit_after>--- ../src_base/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java
+++ ../src_work/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java
@@ -55,6 +55,8 @@
     private Slot field_74235_v = null;
     private boolean field_74234_w = false;
     private CreativeCrafting field_82324_x;
+    private static int tabPage = 0;
+    private int maxPages = 0;
 
     public GuiContainerCreative(EntityPlayer par1EntityPlayer)
     {
@@ -137,7 +139,7 @@
                     return;
                 }
 
-                if (var7 != null && var8 != null && var7.isItemEqual(var8))
+                if (var7 != null && var8 != null && var7.isItemEqual(var8) && ItemStack.areItemStackTagsEqual(var7, var8))
                 {
                     if (par3 == 0)
                     {
@@ -229,6 +231,13 @@
             this.setCurrentCreativeTab(CreativeTabs.creativeTabArray[var1]);
             this.field_82324_x = new CreativeCrafting(this.mc);
             this.mc.thePlayer.inventoryContainer.addCraftingToCrafters(this.field_82324_x);
+            int tabCount = CreativeTabs.creativeTabArray.length;
+            if (tabCount > 12)
+            {
+                controlList.add(new GuiButton(101, guiLeft,              guiTop - 50, 20, 20, "<"));
+                controlList.add(new GuiButton(102, guiLeft + xSize - 20, guiTop - 50, 20, 20, ">"));
+                maxPages = ((tabCount - 12) / 10) + 1;
+            }
         }
         else
         {
@@ -363,7 +372,7 @@
     {
         CreativeTabs var3 = CreativeTabs.creativeTabArray[selectedTabIndex];
 
-        if (var3.drawInForegroundOfTab())
+        if (var3 != null && var3.drawInForegroundOfTab())
         {
             this.fontRenderer.drawString(var3.getTranslatedTabLabel(), 8, 6, 4210752);
         }
@@ -385,7 +394,7 @@
             {
                 CreativeTabs var9 = var6[var8];
 
{'fraction_non_alphanumeric': 0.12581100141043725, 'fraction_numerical': 0.06516220028208744, 'mean_word_length': 2.110526315789474, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3960587', 'n_tokens_mistral': 1288, 'n_tokens_neox': 1125, 'n_words': 194}